Prendi i figli della categoria genitore
4 risposta
- voti
-
- 2012-11-29
Nonpuoi semplicementepassare la stringa "parent" a
get_categories
. Devitrasmettere l'ID delgenitore.$categories=get_categories( array( 'parent' => $cat->cat_ID ) );
Tienipresente cheesistono due parametri "prendifiglio" similimanon uguali chepuoi utilizzare .
child_of (numerointero) Visualizzatutte le categorie discendenti (ovverofiglie nipoti) della categoriaidentificata dal suo ID. Là non è un valorepredefinitoper questoparametro. Se viene utilizzatoilparametro,ilfile Ilparametro hide_empty èimpostato sufalse.
genitore (intero) Visualizza solo le categorie che sono discendenti diretti (cioè solobambini) della categoriaidentificata dal suo ID. Questofa NONfunziona comeilparametro "child_of". Non ci sonoimpostazionipredefiniteper questo parametro. [In 2.8.4]
Ora devi scorrere le
$categories
. Nonpuoi semplicementeecho un array.foreach ($categories as $c) { var_dump($c); // what you really want instead of var_dump is something to // to create markup-- list items maybe, For example... echo '<li>'.$c->cat_name.'</li>'; }
You can't just pass the string "parent" to
get_categories
. You have to pass the ID of the parent.$categories=get_categories( array( 'parent' => $cat->cat_ID ) );
Notice that there are two similar but not equal "get child" parameters that you can use.
child_of (integer) Display all categories that are descendants (i.e. children & grandchildren) of the category identified by its ID. There is no default for this parameter. If the parameter is used, the hide_empty parameter is set to false.
parent (integer) Display only categories that are direct descendants (i.e. children only) of the category identified by its ID. This does NOT work like the 'child_of' parameter. There is no default for this parameter. [In 2.8.4]
Now you need to loop over the
$categories
. You can't just echo an array.foreach ($categories as $c) { var_dump($c); // what you really want instead of var_dump is something to // to create markup-- list items maybe, For example... echo '<li>'.$c->cat_name.'</li>'; }
-
Sfortunatamente,questomi sta solo dando un output di Array.Nessun valore vieneinserito.Unfortunately, that is just giving me an output of Array. No values are being pulled in.
- 0
- 2012-11-29
- Chris Da Sie
-
"Array" è ciò che accade quando sitenta dieseguire l'eco di un array.Ènecessarioeseguireil ciclo sull'arrayedecheggiarei singolielementi.'Array' is what happens when you try to echo an array. You need to loop over the array and echo the individual elements.
- 0
- 2012-11-29
- s_ha_dum
-
Potresti voler aggiungere 'hide_empty'=>false.Permostrare anche le categorie vuote.You might want to add 'hide_empty' => false. To also show empty categories.
- 2
- 2018-06-18
- Floris
-
- 2018-04-25
Usail codice qui sottoneltuofile archive.php. Questo codiceti aiuterà:
<?php $term = get_queried_object(); $children = get_terms( $term->taxonomy, array( 'parent' => $term->term_id, 'hide_empty' => false ) ); if ( $children ) { foreach( $children as $subcat ) { echo '<li><a href="' . esc_url(get_term_link($subcat, $subcat->taxonomy)) . '">' . $subcat->name . '</a></li>'; } } ?>
Use the code below in your archive.php file. This code will help you:
<?php $term = get_queried_object(); $children = get_terms( $term->taxonomy, array( 'parent' => $term->term_id, 'hide_empty' => false ) ); if ( $children ) { foreach( $children as $subcat ) { echo '<li><a href="' . esc_url(get_term_link($subcat, $subcat->taxonomy)) . '">' . $subcat->name . '</a></li>'; } } ?>
-
Perfavore ** [modifica] latua risposta **e aggiungi una spiegazione: **perché ** questopotrebbe risolvereilproblema?Please **[edit] your answer**, and add an explanation: **why** could that solve the problem?
- 0
- 2018-04-25
- fuxia
-
- 2019-12-22
Senon ci sono valorinell'array,puoiprovareil seguente approccio:
$last_categories = get_categories( array( 'taxonomy' => 'product_cat', 'parent' => $sub_category->cat_ID ) );
If there are no values in the array you can try the following approach:
$last_categories = get_categories( array( 'taxonomy' => 'product_cat', 'parent' => $sub_category->cat_ID ) );
-
- 2020-03-02
Per ottenere categoriefigliopuoi utilizzareil seguente codice.
$category = get_queried_object(); // this is for getting the parent category on archive or any place the category object is called. $categories=get_categories( array( 'parent' => $category->term_id, 'hide_empty' => false ) );
Avviso: - Ho usato 'hide_empty'=>falsepermostrare categorie senza alcunpost sotto diessa. Quindi utilizzare l'array $ categoriespereseguireil cicloe creareilmarkup.
To get child categories you can use following code.
$category = get_queried_object(); // this is for getting the parent category on archive or any place the category object is called. $categories=get_categories( array( 'parent' => $category->term_id, 'hide_empty' => false ) );
Notice :- I have used 'hide_empty' => false to show categories with no any posts under it. Then use the $categories array to loop and make your markup.
Sto cercando di visualizzaretutte le categoriefiglioin questo ciclo,ma sto lottando conil codice.Questo è quello che hofinora.
Qualsiasi aiuto sarebbefantastico