Funcție care returnează true dacă pagina curentă are pagini copil
7 dec. 2011, 02:44:33
Vizualizări: 19K
Voturi: 10
Încerc să creez o funcție simplă pentru a face un "test de stare". Scopul este să testez și să văd dacă pagina curentă care este vizualizată are sau nu pagini copil. Folosesc acest lucru pentru a adapta layout-ul în funcție de prezența paginilor copil. Următorul cod pare că ar trebui să funcționeze, dar din păcate, nu merge.
Vede cineva ce lipsește?
function is_subpage() {
global $post; // încarcă detaliile despre această pagină
if ( is_page() && $post->post_parent ) { // verifică dacă pagina are o pagină părinte
return true; // returnează true, confirmând că există o pagină părinte
} else { // nu există pagină părinte, deci...
return false; // ...răspunsul la întrebare este false
}
}

Brian
814
Toate răspunsurile la întrebare
2
0
Funcția ta de mai sus verifică dacă o pagină este o pagină copil a altei pagini, nu dacă are pagini copil.
Poți verifica dacă pagina curentă are pagini copil astfel:
function has_children() {
global $post;
$children = get_pages( array( 'child_of' => $post->ID ) );
if( count( $children ) == 0 ) {
return false;
} else {
return true;
}
}
Mai multe informații:

Johannes Pille
11.1K
7 dec. 2011 03:08:07
0
Iată versiunea pentru orice tip de postare, în cazul în care folosești un tip personalizat de postare
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();
}

Dmitry Chuba
201
12 mai 2016 21:18:00
Întrebări similare
1
răspunsuri
2
răspunsuri
7
răspunsuri
2
răspunsuri