wp_list_categories + child of dynamisch

  • Hi

    Mittels

    PHP
    <?php 
    wp_list_categories('orderby=id&title_li=&child_of=6'); 
    ?>


    kann ich eine Liste erzeugen die alle Sub-Kategorien der Kategorie mit der ID 6 auflistet

    Wie kann ich das ganze dynamisch machen - ich hab folgendes versucht

    PHP
    <?php 
    $this_category = get_cat_ID($cat)
    wp_list_categories('orderby=id&title_li=&child_of=$this_category'); 
    ?>


    nur das funktioniert leider nicht

    Freu mich über jeden Tipp

    Danke

    lg Camelrider

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Was heißt dynamisch? Wann sollen nur die Unterkategorien angezeigt werden? Wenn du auf einer Kategorieseite bist? Oder in einem Artikel?

    Versuch mal das:

    PHP
    $this_category = get_query_var('cat');
    wp_list_categories('orderby=id&title_li=&child_of=' . $this_category);


    oder

    PHP
    $category = get_the_category();
    $this_category = $category[0]->cat_ID;
    wp_list_categories('orderby=id&title_li=&child_of=' . $this_category);

    wpseek.com - Die WordPress-Code-Suchmaschine

  • PHP
    $category = get_the_category(); 
    $this_category = $category[0]->cat_ID; 
    wp_list_categories('orderby=id&title_li=&child_of=' . $this_category);


    macht genau was ich wollte - viele Dank

    Es gibt nur eine Einschränkung:
    Auf meiner Startseite werden die letzten Artikel dargestellt - wenn ich einen
    von denen anklicke ändert sich die kategorieauflistung in der Sidebar (mit deinem Code von oben) nicht

    Gibts eine Möglichkeit das noch anzupassen ?

    lg Camelrider

  • Sollte es eigentlich. Lass dir mal $this_category ausgeben:

    PHP
    <?php
    $category = get_the_category(); 
    $this_category = $category[0]->cat_ID;
    echo $this_category;
    ?>


    ob er die richtige (oder überhaupt eine) Kategorie-ID ausgibt.

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Die Ausgabe ist prinzipiell richtig - allerdings zeigt er bei Kategorien MIT Subkategorie die ID der letzten Subkategorie an

    lg Camelrider

  • So hab jetzt aus beiden Code-Fragmenten folgendes zusammengebastelt:

    PHP
    <?php 
    $category = get_the_category(); 
    $this_category = $category[0]->cat_ID; 
    wp_list_categories('orderby=id&title_li=&exclude=1&depth=1&child_of=' . $this_category);
    ?>

    was genau das macht was es machen soll

    Allerdings würde ich das ganze gerne noch so anpassen dass
    keine Artikel in den Subkategorien angezeigt werden
    -> derzeit werden alle Artikel in der Kategorie und deren Subkategorien angezeigt

    lg Camelrider

  • Hi

    Dein Tipp war genial - jetzt funktioniert alles perfekt

    einen Schönheitsfehler gibts allerdings noch

    PHP
    <?php 
    $category = get_the_category(); 
    $this_category = $category[0]->cat_ID; 
    wp_list_categories('orderby=id&title_li=&exclude=1&depth=1&child_of=' . $this_category);
    ?>


    liefert wenn keine Subkategorie mehr vorhanden ist das Ergebniss
    "No categories"

    ich hätte aber gerne dass in diesem Fall alle Geschwister-Kategorien dargestellt werden und die aktuelle Sub-Kategorie eine eigene CSS-Klasse bekommt

    Meine Idee wäre abzufragen ob es ein child gibt dann mach den oberen Code
    wenn es kein Child gibt nimm den parent und mach vom Parent ausgehend den oberen Code und gib der aktuellen Subkategorie eine CSS Klasse xy mit

    Ist sowas möglich

    lg Camelrider

    PS: VIELEN DANK für die Hilfe

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!