Funzione per verificare se la pagina corrente ha pagine figlie in WordPress
7 dic 2011, 02:44:33
Visualizzazioni: 19K
Voti: 10
Sto cercando di creare una semplice funzione per fare un "test di stato". L'obiettivo è verificare se la pagina corrente visualizzata ha pagine figlie o meno. Userò questa funzione per modificare il layout in base alla presenza di pagine figlie. Il seguente codice sembra dovrebbe funzionare, ma purtroppo non va.
Qualcuno riesce a vedere cosa mi manca?
function is_subpage() {
global $post; // carica i dettagli sulla pagina corrente
if ( is_page() && $post->post_parent ) { // verifica se la pagina ha una genitore
return true; // restituisce true, confermando che c'è un genitore
} else { // non c'è un genitore quindi...
return false; // ...la risposta alla domanda è false
}
}

Brian
814
Tutte le risposte alla domanda
2
0
La tua funzione sopra verifica se una pagina è una pagina figlia di un'altra pagina, non se ha figli.
Puoi verificare se la pagina corrente ha figli in questo modo:
function has_children() {
global $post;
$children = get_pages( array( 'child_of' => $post->ID ) );
if( count( $children ) == 0 ) {
return false;
} else {
return true;
}
}
Ulteriori letture:

Johannes Pille
11.1K
7 dic 2011 03:08:07
0
Ecco la versione per qualsiasi tipo di post, nel caso in cui tu stia utilizzando un tipo di post personalizzato
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 mag 2016 21:18:00
Domande correlate
1
risposte
2
risposte