Come visualizzare l'elenco delle pagine figlie di una pagina padre in WordPress?
Ho il seguente formato di menu.
Trattamenti
-Bellezza
--Servizi
--Prodotti
-Chirurgia
-Lavaggio
Ho seguito questo link: Come Visualizzare un Elenco di Pagine Figlie per una Pagina Padre in WordPress
Ma non voglio le sottopagine di "Bellezza". Voglio solo le sottopagine di "Trattamenti".

Aggiungi questo codice al tuo functions.php. Di seguito è riportata una spiegazione del codice.
function wpb_list_child_pages() {
global $post;
$id = ( is_page() && $post->post_parent ) ? $post->post_parent : $post->ID;
$childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $id . '&echo=0' );
//puoi aggiungere `&depth=1` alla fine, così mostra solo un livello
if ( $childpages ) {
$string = '<ul>' . $childpages . '</ul>';
}
return $string;
}
add_shortcode('wpb_childpages', 'wpb_list_child_pages');
Spiegazione
Il codice verifica se una pagina ha una genitore o se la pagina stessa è un genitore. Se è una pagina genitore, allora mostra le pagine figlie associate ad essa. Se è una pagina figlia, allora mostra tutte le altre pagine figlie della sua pagina genitore. Infine, se questa è solo una pagina senza figli né genitore, allora il codice non farà semplicemente nulla. Quindi basta aggiungere questo shortcode [wpb_childpages]
alla pagina dove verranno visualizzate le pagine figlie.
Il mio test che ha funzionato sul mio localhost:
Test1
-t1
--tt1
-t2
e l'output che viene visualizzato quando ho inserito quello shortcode nella pagina Test1 è:
t1
t2

Ma sta anche recuperando le sottopagine delle sottopagine. Voglio solo le sottopagine della pagina genitore.

@ArshadHussain: ok.. allora per quello aggiungi &depth=1 con &echo.. vedi la mia riga aggiornata nel mio post.

cosa mostra? stanno ancora mostrando servizi e prodotti?? ma per me ha funzionato..

@ArshadHussain: se la mia risposta ti è stata utile, per favore segnalala come soluzione.. comunque sono felice di sentire che il tuo problema è stato risolto.. :)

Scusa, ma il mio rank è troppo basso per votare. Ci penserò in futuro

Se vuoi solo le sottopagine della pagina corrente, usa questo codice:
function wpb_list_child_pages() {
global $post;
if ( is_page() && $post->ID )
$childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0&depth=2' );
if ( $childpages ) {
$string = '<ul>' . $childpages . '</ul>';
}
return $string;
}
add_shortcode('wpb_childpages', 'wpb_list_child_pages');
