Holen Sie sich die Kinder der übergeordneten Kategorie
4 Antworten
- Stimmen
-
- 2012-11-29
Sie können die Zeichenfolge "parent"nichteinfach an
get_categories
übergeben a>. Siemüssen die ID des Elternteils übergeben.$categories=get_categories( array( 'parent' => $cat->cat_ID ) );
Beachten Sie,dass Sie zwei ähnliche,abernichtgleiche "get child" -Parameter verwenden können .
child_of (Ganzzahl) Zeigt alle Kategorien an,die Nachkommen (d. h. Kinder und Enkelkinder) der durchihre IDidentifizierten Kategorie sind. Dort ist keine Standardeinstellungfür diesen Parameter. Wenn der Parameter verwendet wird,wird der Der Parameter hide_empty wird auffalsegesetzt.
Elternteil (Ganzzahl) Zeigtnur Kategorien an,die direkte Nachkommen (d. h.nur Kinder) der durchihre IDidentifizierten Kategorie sind. Dasmacht NICHT wie der Parameter 'child_of' arbeiten. Hierfürgibt es keine Standardeinstellung Parameter. [In 2.8.4]
Jetztmüssen Sie die
$categories
durchlaufen. Sie könnenein Arraynichteinfach wiedergeben.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>'; }
-
Leidergibt mir dasnureine Ausgabe von Array.Es werden keine Werteeingezogen.Unfortunately, that is just giving me an output of Array. No values are being pulled in.
- 0
- 2012-11-29
- Chris Da Sie
-
'Array'passiert,wenn Sie versuchen,ein Array wiederzugeben.Siemüssen das Array durchlaufen und dieeinzelnen Elemente wiedergeben.'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
-
Vielleichtmöchten Sie 'hide_empty'=>false hinzufügen.Um auch leere Kategorien anzuzeigen.You might want to add 'hide_empty' => false. To also show empty categories.
- 2
- 2018-06-18
- Floris
-
- 2018-04-25
Verwenden Sie denfolgenden Codein Ihrer Datei archive.php. Dieser Code hilft Ihnen:
<?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>'; } } ?>
-
Bitte ** [bearbeiten] Sie Ihre Antwort ** undfügen Sieeine Erklärung hinzu: ** Warum ** könnte das das Problem lösen?Please **[edit] your answer**, and add an explanation: **why** could that solve the problem?
- 0
- 2018-04-25
- fuxia
-
- 2019-12-22
Wenn das Array keine Werteenthält,können Sie denfolgenden Ansatz ausprobieren:
$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
Um untergeordnete Kategorien abzurufen,können Sie denfolgenden Code verwenden.
$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 ) );
Hinweis: - Ich habe 'hide_empty'=>false verwendet,um Kategorien ohne Beiträge anzuzeigen. Verwenden Sie dann das Array $ category,umeine Schleife zuerstellen und Ihr Markup zuerstellen.
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.
Ich versuche,alle untergeordneten Kategorienin dieser Schleife anzuzeigen,aberich habe Problememit dem Code.Das habeichbisher.
Jede Hilfe wäregroßartig