it-swarm.com.de

Holen Sie sich die Kinder der Elternkategorie

Ich versuche, alle untergeordneten Kategorien in dieser Schleife anzuzeigen, aber ich habe Probleme mit dem Code. Das habe ich bisher.

<?php $args=array('orderby' => 'name', 'order' => 'ASC');
    $categories=get_categories($args); 
    foreach ($categories as $cat) { ?>
    <dt><a href="#" class="customer-acquisitiontop" id="<?php echo $cat->slug; ?>" data-filter=".<?php echo $cat->slug; ?>"><h2><?= $cat->cat_name; ?></h2></a></dt>
    <dd><div class="services">
    <?= $categories=get_categories('parent'); ?> /*This should be the children of the parent category */
    </div>
    </dd>
<?php } ?>

Jede Hilfe wäre toll

15
Chris Da Sie

Sie können die Zeichenfolge "parent" nicht einfach an get_categories übergeben. Sie müssen die ID des übergeordneten Elements übergeben.

$categories=get_categories(
    array( 'parent' => $cat->cat_ID )
);

Beachten Sie, dass es zwei ähnliche, aber ungleiche "get child" -Parameter gibt die Sie verwenden können.

child_of (Ganzzahl) Zeigt alle Kategorien an, die Nachkommen (d. h. Kinder und Enkelkinder) der durch ihre ID identifizierten Kategorie sind. Für diesen Parameter gibt es keine Standardeinstellung. Wenn der Parameter verwendet wird, wird der Parameter hide_empty auf false gesetzt.

parent (integer) Zeigt nur Kategorien an, die direkte Nachkommen (d. h. nur Kinder) der durch ihre ID identifizierten Kategorie sind. Dies funktioniert NICHT wie der Parameter 'child_of'. Für diesen Parameter gibt es keine Standardeinstellung. [In 2.8.4]

Jetzt müssen Sie den $categories durchlaufen. Sie können ein Array nicht einfach 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>';
}
17
s_ha_dum

Verwenden Sie den folgenden Code in Ihrer archive.php-Datei. Dieser Code wird Ihnen helfen:

<?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>';
        }
    }
?>
2
Violla Queue