Seitentemplate das posts von Unterkatekorien anzeigt

  • Hallo,
    ich möchte ein Seitentemplate basteln, welches mir die Beiträge aller Unterkategorien einer Hauptkategorie anzeigt. Da sich die Unterkategorien immer wieder ändern werden (neue hinzu, alte entfallen), kann ich diese also nicht direkt abfragen, weil ich dann ja jedesmal das Template anpassen müsste.

    Beispiel:
    die Hauptkategorie heisst "Mitarbeiter", der sind die Unterkategorien wie "Projekt München", "Projekt Bern" etc. zugeordnet.

    Nun soll das Template alle posts der Unterkategorien auf einer Seite ausgeben. Ich könnte zwar mit

    Code
    query_posts('cat=1,3,5&orderby=title&posts_per_page=-1');

    die Unterkategorien abfragen, aber wie gesagt, die cat-id´s werden sich ständig ändern (neue Projekte kommen hinzu, abgeschlossene werden entfernt).
    Hat da vielleicht einer einen Ansatz für mich?
    Erst die Unterkategorien der Hauptkategorie abfragen, oder so?

    php-Cracks sind da vermutlich gefragt, ich habe nur rudimentäre Kenntnisse.
    Danke im voraus...

    • 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

  • Da fehlt noch ein Zwischenschritt.

    PHP
    $cat_ids = '';
    $child_cats = get_categories('child_of=175');
    foreach( $child_cats as $cc ) {
      $cat_ids .= $cc->term_id . ',';
    }
    query_posts("cat=$cat_ids&orderby=title&posts_per_page=-1");


    (Bin mir nicht 100% sicher, ob "term_id" die richtige Property ist. Müsste aber eigentlich. Eventuell mal $cat_ids vor query_posts() ausgeben lassen und schauen ob die richtigen IDs drin stehen.)

  • Also, folgendes

    Code
    $bau_cat_ids = '';
    $bau_cats = get_categories('child_of=175');
    foreach( $bau_cats as $cc ) {
      $bau_cat_ids .= $cc->term_id . ',';
      }
    foreach($bau_cat_ids as $a) {
    echo $a;
    echo "<br />";
    }

    gibt die Meldung:

    Zitat

    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\wordpress\wp-content\themes\rrp_jst_23\faq_mitarbeiter.php on line 26

    wobei die Zeile 26 die mit der zweiten foreach-Schleife ist.

    Hat das $cc eine bestimmte Bedeutung oder ist das eine beliebige Benennung?

  • So sollte es gehen:

    PHP
    $bau_cat_ids = '';
    $bau_cats = get_categories('child_of=175');
    foreach( $bau_cats as $cc ) {
      $bau_cat_ids .= $cc->term_id . ',';
      }
    echo $bau_cat_ids;
    echo "<br />";
    query_posts("cat=$bau_cat_ids&orderby=title&posts_per_page=-1");

    echo $bau_cat_ids; sollte eine durch Kommata getrennte Liste der richtigen Unterkategorien ausgeben. $cc ist eine beliebige Bezeichnung.

Jetzt mitmachen!

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