Herausfinden, auf welcher Ebene sich ein WordPress-Objekt befindet

bear 3145874 1920
Bildquelle: Pixabay, Papafox

Manchmal ist es von Interesse zu erfahren, auf welcher Ebene der Hierarchie sich eine Seite befindet, eine Kategorie oder der Term einer benutzerdefinierten Taxonomie. get_ancestors() gibt ein Array mit allen einem Objekt übergeordneten Objekt-IDs zurück. Diese braucht man nur zu zählen und die Ebene des Objekts ist bekannt.

$object_id: die ID des Kind-Objekts
$object_type: Objekt-Typ wie Seite, hierarchischer Inhaltstyp, Kategorie oder hierarchische Taxonomy
$resource_type: post_type oder taxonomy

function my_compontent_get_object_level( $object_id, $object_type, $resource_type = '' ) {
	$ancestors = get_ancestors( $object_id, $object_type, $resource_type );
	return count( $ancestors );
}

Wenn die Zählung bei eins beginnen soll und nicht bei null, der Anzahl übergeordneter Elemente noch eines hinzufügen.

function my_compontent_get_object_level( $object_id, $object_type, $resource_type = '' ) {
	$ancestors = get_ancestors( $object_id, $object_type, $resource_type );
	return ( count( $ancestors ) + 1 );
}

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable