Ich versuche eine einfache Funktion zu erstellen, um einen "Statustest" durchzuführen. Ziel ist es zu testen, ob die aktuell angezeigte Seite untergeordnete Seiten hat oder nicht. Verwenden Sie diese Option, um das Layout für untergeordnete Seiten zu ändern. Der folgende Code scheint zu funktionieren, aber leider keine Würfel.
Weiß jemand, was ich vermisse?
function is_subpage() {
global $post; // load details about this page
if ( is_page() && $post->post_parent ) { // test to see if the page has a parent
return true; // return true, confirming there is a parent
} else { // there is no parent so ...
return false; // ... the answer to the question is false
}
}
Ihre obige Funktion testet, ob eine Seiteeine untergeordnete Seite einer anderen Seite ist, nicht, ob sie untergeordnete Seiten hat.
Sie können für Kinder der aktuellen Seite wie folgt testen:
function has_children() {
global $post;
$children = get_pages( array( 'child_of' => $post->ID ) );
if( count( $children ) == 0 ) {
return false;
} else {
return true;
}
}
Weitere Lektüre:
Hier ist die Version für jeden Beitragstyp, falls Sie einen benutzerdefinierten Beitragstyp verwenden
function has_children($post_ID = null) {
if ($post_ID === null) {
global $post;
$post_ID = $post->ID;
}
$query = new WP_Query(array('post_parent' => $post_ID, 'post_type' => 'any'));
return $query->have_posts();
}