WordPress: Prüfen ob die aktuelle Seite Parent- oder Child-Page ist
Ab und zu muss man bei der Erstellung eines WordPress-Themes prüfen ob die aktuelle Seite ein Parent- oder eine Child-Page ist. Mal angenommen ihr möchtet in der Sidebar immer alle, der aktuellen Seite untergeordneten Seiten anzeigen lassen. Zusätzlich möchtet ihr diesen Bereich so aufwändig gestalten, dass ein umschließendes Container-Element notwendig ist. Wenn nun keine Child-Pages mehr existieren sollte natürlich auch das Container-Element verschwinden, sonst ist der Bereich leer. Genau für einen solchen Zweck habe ich seinerzeit das nachfolgende Snippet benutzt.
If-Else-Abfrage
Das nachfolgende Snippet zeigt an, ob die aktuell aufgerufene Seite ein Parent-Page ist oder ob es sich um eine Child-Page handelt. Parent bedeutet in diesem Fall, dass die Seite keine übergeordnete Seite besitzt. Eine Child-Page ist es sobald eine eine übergeordnete Seite existiert.
Eine Seite kann sowohl Child als auch Parent sein. Dieses Snippet gibt in einem solchen Fall immer „Child“ aus. Es wird keine doppelte Ausgabe erstellt.
<?php
global $wp_query;
if ( empty($wp_query->post->post_parent) )
{ ?>
<p>Ich bin eine "Parent-Page"</p>
<?php }
else { ?>
<p>Ich bin eine "Child-Page"</p>
<?php
} ?>
[…] Wenn ihr überprüfen möchtet ob eine Seite untergeordnete Seiten (Child-Pages) besitzt, schaut euch folgendes Snippet einmal an. Durch diesen Code lässt sich beispielsweise eine Subnavi nur dann einblenden, wenn überhaupt Child-Elemente vorhanden sind. Wenn ihr hingegen testen wollt ob es sich bei der aktuellen Seite selbst um eine untergeordnete Seite handelt, werft einen Blick auf diesen Artikel: Prüfen ob die aktuelle Seite Parent- oder Child-Page ist […]