Support » Themes » Abfrage, ob eine Seite eine Unterseite von X ist

  • kiezkickerde

    (@kiezkicker)



    Moin,
    ich erstelle gerade für barrierefreieshamburg.de ein neues Theme. Dieses Projekt besteht hauptsächlich aus Seiten, die in verschiedene Themenbereiche unterteilt sind, bspw. „Stadtteile“, „Parks“, „Rundgänge“, „Hotels“ usw., wobei es sich hierbei jeweils um Seiten / Pages handelt.

    Da sich die Ausgabe auf den Detail-Seiten bei diesen Seiten nur minimal voneinander unterscheidet (lediglich die Angaben der „Auf einen Blick“-Infobox ist bei Seiten unterhalb von Parks eine andere wie bei den Hotels) würde ich gerne im Childtheme vermeiden (wie bisher geschehen) jeweils für Hotels, Parks, Stadtteile usw. eine eigene Templatedatei anzulegen, sondern würde das gerne jeweils alles in einer einzigen Templatedatei abhandeln, bspw. mittels einer case-Schleife.
    Die Angaben, die WordPress hierbei innerhalb der „Auf einen Blick“- Box anzeigt, stehen in Custom Fields des jeweiligen Artikels, welche ich mittels „Advanced Custom Fields“ dort rein geschrieben habe.

    Ich müsste also bspw. abfragen, ob eine Seite das Kind (oder Enkelkind…) von der Seite mit der ID 27 (das ist die Seite „Stadtteile“) oder der Seite mit der ID 26 (also „Parks“) ist, um zu entscheiden, welche „Auf einen Blick“-Box ich beim jeweiligen Template mit ausgeben möchte – das für die Stadtteile oder das „Auf einen Blick“- Template für die Parks.

    Wie müsste ich diese case – Schleifenabfrage stellen, bzw. wie fragt man im Template ab, ob eine Seite (irgendwo – Parks und Stadtteile sind ja noch weiter unterteilt, sprich, ebsitzen mehr als nur eine Unterebene) unterhalb von der Seite mit der ID X einsortiert wurde?

    • Dieses Thema wurde geändert vor 1 Woche von  kiezkickerde. Grund: Präzisierung

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • kiezkickerde

    (@kiezkicker)

    Moin, erst mal danke für deine Antwort.

    Hm. Nein, ich fürchte, das reicht so leider nicht. Wenn ich das richtig verstehe, könnte ich damit lediglich abfragen, ob eine Seite eine Seite ist (und kein Posting) und ob es sich dabei dann auch um eine Unterseite handelt – aber nicht, ob es sich um eine Unterseite von „Park“, „Stadtteil“ oder „Hotel“ handelt.
    if ( is_page() && $post->post_parent > 0 ) {
    müsste irgendwas in Richtung
    if ( is_page() && $post->post_parent == page_ID 27 ) {
    oder so sein, damit ich das entsprechende Template für die Stadtteile hinzuladen könnte.

    Irgendwie muss es sich auch feststellen lassen, ob eine Unterseite ein Kind von genau der und der Oberseite ist, denn bspw. das Plugin „Page-list“ – https://de.wordpress.org/plugins/page-list/ – kann ja bspw. auch alle Unterseiten der aktuellen Seite auflisten:
    [pagelist child_of="4" depth="2" exclude="6,7,8"]
    Das sieht bspw. für die Parks im Bezirk Altona dann eben bspw. folgendermaßen aus: https://barrierefreieshamburg.de/wp/parks/bezirk-altona/

    Wenn es eine Möglichkeit gibt, sich die Unterseiten auflisten zu lassen, müsste es doch eigentlich auch die Möglichkeit zu geben, die Elternseite abzufragen (und wenn es die und die Elternseite ist, dann eben das und das include für die jeweilige „Auf einen Blick“- Box auszuführen).

    • Diese Antwort wurde geändert vor 5 Tagen, 23 Stunden von  kiezkickerde. Grund: Präzisierung, Erläuterung, Ergänzung
Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)