Kategorien / Subkategorien einzeln referenzieren

  • Ich möchte auf Artikelseiten die Kategorien denen der jeweilige Artikel angehört in einem Satz ausgeben, z. B.:

    Dieses [COLOR=#ff0000]Sachbuch[/COLOR] erschien am X.X.XY beim [COLOR=#ff0000]Sachbuchverlag[/COLOR] als [COLOR=#ff0000]Serientitel[/COLOR]


    Ich habe eine verschachtelte Kategoriestruktur:

    Sachbuch
    - Buchverlag
    --- Serientitel
    Roman
    - Romanverlag
    --- Romanserientitel
    etc

    Mit meiner Lösung werden die Kategorien allerdings nicht nach der Kategorie-Ebene ausgewählt sondern alphabetisch, wodurch dann der gebildete Satz je nach Fall nicht immer einen Sinn ergibt:


    Frage: Wie kann ich die Kategorien nach Ebenen referenzieren, so daß definitiv die erste, zweite oder dritte Ebene ausgegeben wird?

    • 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

  • das folgende mach totalen unsinn, wenn mehr als eine kategorie per ebene verwendet wird und die verwendeten kategorien nicht der vorgegebenen struktur folgen.

    der folgende code hat keine sicherheits-checks eingebaut:

  • Danke Alchymyth, das funktioniert hervorragend. Welche fehlenden Sicherheits-Checks meinst du denn? Sollte da noch was ausgebessert werden?


    Ich erweitere den Satz übrigens noch um eine eigene Taxonomy die ich noch in den Satz mit einbaue, und zwar wie folgt:

    PHP
    <?php $args = array('taxonomy' => 'genre'); ?>
    <?php $tax_menu_items = get_categories( $args );
    foreach ( $tax_menu_items as $tax_menu_item ):?>
    und kann dem
        <a href="<?php echo get_term_link($tax_menu_item,$tax_menu_item->taxonomy); ?>">
            <?php echo $tax_menu_item->name; ?>
        </a>
    Genre zugeordnet werden.
    <?php endforeach; ?>


    Falls jemand eine bessere Lösung hat, ich bin für Experimente offen.

  • Zitat

    Welche fehlenden Sicherheits-Checks meinst du denn? Sollte da noch was ausgebessert werden?

    wie gesagt, wenn kategorien verwendet werden, die zB nicht top-level-cat, child-cat, und grandchild-cat von einer 'familie' sind; oder wenn zB noch weitere kategorien im post sind, dann wird das ergebnis ziemlich zufaellig.

Jetzt mitmachen!

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