Un utente ha chiesto informazioni su Developing with WordPress di Wordpress

Ottieni tutti gli ID delle sottocategorie

Un utente ha chiesto πŸ‘‡

Ciao!
Voglio ottenere tutte le sottocategorie della categoria principale
Come lo faccio:
1. Ottieni ParentID senza alcun contatore se sono un sottogatto o un genitore:


$category = get_the_category();
$hierarchy = array_reverse( get_ancestors( $category[0]->term_id, 'category' ) );
$hierarchy[] = $category[0]->term_id;
$parent_id=$hierarchy[0];

2. Ora che ho un ID genitore, posso modificare con sub -atat
$all_cats[]=( get_terms(array('category'),array('child_of' => $categories)));

3. Come rimuovere solo gli ID delle sottocategorie [β€˜term_id’] + ID genitore?

(@alexmoise)

2 anni, 9 mesi fa

Ciao,
Gli oggetti WP_Term sono effettivamente ordinati per sottocategorie e puoi recitarli tramite “foreach”
A partire dalla tua variabile “$ all_cats” puoi usare questo:

foreach ($all_cats as $cat) {
	// echo 'Cat obj: '; print_r($cat);
	foreach ($cat as $kcat) {
		// echo 'K Cat: '; print_r($kcat);
		$kterm = get_term( $kcat );
		$kid = $kterm->term_id;
		$kslug = $kterm->slug;
		echo 'Kid: '.$kid.' KSlug: '.$kslug.' | ';
	}
}

Saluti!

(@bcworkz)

2 anni, 9 mesi fa

Vuoi rimuovere gli ID dei termini di tutti gli elementi a termine restituiti, giusto?

Se non hai bisogno di dati oggetto diversi dall’ID, usa l’argomento ‘fields’ di get_terms () per sostituire solo un insieme di ID invece dei termini oggetti. Se solo ID:

array('child_of' => $categories,
   'fields' => 'ids')

Se hai bisogno del termine ID e di un termine genitore, puoi chiedere “id => genitore” come parametro dei campi. print_r () il ritorno mostra come sono organizzati i dati di ritorno.

Se hai altri requisiti per i dati dell’oggetto termine, rimuovi gli ID piegando tutti i risultati e costruendo un nuovo insieme di valori “term_id”.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *