Da ich inzwischen bereits für mehrere Kundenprojekte auch -Instanzen pflegen sowie modifizieren muss, wurde mir inzwischen – wie auch einigen anderen Usern – das leidige Fehlen einer is_child-Funktion bewusst, deretwegen man ständig programmiertechnische Umwege gehen musste. Jene Umwege waren dann auch nicht wirklich befriedigend und vor allem eines: nämlich zeitraubend. Auch eine intensive Suche brachte nur das Ergebnis, auf andere Suchende zu treffen. Also blieb nur die eine Lösung: selber schreiben. Und zwar direkt als .

Das Ergebnis einer Nachtschicht liegt nun seit heute Morgen vor und ist bereits erfolgreich produktiv im Einsatz: is_child in Version 1.1 1.1.1

Die Funktion kann nach Aktivierung des Plugins ganz bequem in sämtlichen Templates genutzt werden. Unterstützt werden Categories, Postings und Pages. Der Parent kann wahlweise mit seiner ID, dem Titel oder dem Slug (“Titelform”) angegeben werden. Sämtliche Suchen erfolgen rekursiv durch sämtliche Elterngenerationen oder wahlweise nur mit den direkten Parents. Bei Postings werden sämtliche Kategorien, in denen das Posting eingetragen wurde, durchforstet.

Als Beispiel:

Man befindet sich derzeit hier:
Reviews -> Music -> CDs -> Artists -> JAMMIN*INC -> Mit Anlauf

Nun möchte man zum Beispiel Amazon Ads für die gesamte Musik-Kategorie – inklusive aller Unter-Kategorien und Postings – schalten. Einfacher geht’s nicht mehr:
if( is_child( "Music" ) ) include( "amazon-ads.php" );

Das war’s. Kein lästiges is_page()- oder is_site()-fischen mehr. Kein Hakeln durch letztlich nicht vorhandene Parent-Funktionen der Categories mehr.

Mehr Beispiele sowie Anleitung und Plugin selbst finden sich auf der -Seite. Fragen, Bugs, Anmerkungen und Ideen bitte dort in die Kommentare.

Zur is_child-Seite…