Folgendes Problem: Parent Category aus Link ../category/xyxyxy auslesen

  • Folgendes verzwicktes Problem:

    Ich habe zwei Haupt-Kategorien und darunter kann es x-beliebig Unter-Kategorien vefrschachtelt geben.

    Ich möchte das Design, wenn man so will, für die beiden Haupt-Kategorien ändern. Dafür muss ich aber wissen, ob es Haupt-Kategorie A oder B ist. Beispielsweise folgende Struktur:

    Haupt A
    -------- Sub 1
    -------- Sub 2
    -------- Sub 3
    ----------------- Sub 31
    Haupt B
    -------- Sub 1
    ----------------- Sub 11
    ----------------- Sub 12
    ----------------- Sub 13

    wenn nun jemand die Adresse ../category/sub31 aufruft, dann handelt es sich augenscheinlich um die Haupt-Kategorie A. Nur ich muss dies per Code auslesen. Auch bei unterschiedlichen Sub-Strukturen

    Nun habe ich mir die Conditional Tags angesehen:
    Conditional Tags WordPress Codex

    Mal davon abgesehen, dass ich nicht verstanden habe was nun mit is_category passiert wenn ich es in einen PHP-Tag setze im Gegensatz zu if-Abfrage mit in_category()....

    Wie kann ich jetzt über eine WP-Funktion herausfinden
    a) welche Kategory in der Adresse steckt und
    b) ob diese als oberstes Parent die Haupt-Kategorie A hat? Dies wollte ich ähnlich is_category('HauptA') = true herausfinden.

    • 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

  • is_category() und in_catgeory() prüfen jeweils nur auf die aktuelle Kategorie. Um die jeweilige Hauptkategorie heruaszufinden musst du über die jeweiligen Parents gehen. Schau dir mal get_category() an, eventuell musst du das für jede Kategorieebene rekursiv aufrufen, bis zu bei der Hauptkategorie angekommen bist. Eventuell hilft dir abe rauch get-category_parents().

    Function Reference/get category WordPress Codex
    Template Tags/get category parents WordPress Codex

  • Ich habe es vor ein paar Minuten so gelöst:

    Das funktioniert ganz wunderbar. In cat steht die ID und mit get_category_parents bekomme ich den gesamten Pfad. Ich habe als TRennzeichen das Komma genommen und das splittet man später mit Eintrag [0], denn das oist ja der root-name

  • ich habe den ganzen tag gesucht wie ich die url sauber auslese. irgendwie bin ich dann vor zwei stunden durch ein engl. forum auf $cat gestoßen und habe es einfach mal probiert. da wäre ich nie drauf gekommen. man kann leider nirgends finden, wie wp das prozess technisch abarbeitet und wir wp für sich selbst feststellt, welche seite gerade aktiv ist und welche globalen variablen wp dann zur verfügung stellt.

  • Naja ich finde die Doku in den meisten Fällen schon recht aussagekräftig. Man muss nur manchmal wissen wonach man suchen muss. Aber "Category parents" hat mich recht schnell auf die richtige Spur gebraucht. Und globale Variablen sind eh böse. ;-)

Jetzt mitmachen!

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