Cum să afișezi lista paginilor copil ale unei pagini părinte în WordPress?
Am următorul format de meniu.
Tratament
-Frumusețe
--Servicii
--Produse
-Chirurgie
-Spălare
Am urmărit următorul link: Cum să afișezi o listă de pagini copil pentru o pagină părinte în WordPress
Dar nu doresc subpaginile paginii "Frumusețe". Vreau doar subpaginile paginii "Tratament".

Adaugă acest cod în fișierul tău functions.php. Mai jos este oferită o explicație a codului.
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' );
//poți adăuga `&depth=1` la final, astfel încât să afișeze doar un nivel
if ( $childpages ) {
$string = '<ul>' . $childpages . '</ul>';
}
return $string;
}
add_shortcode('wpb_childpages', 'wpb_list_child_pages');
Explicație
Codul verifică dacă o pagină are o pagină părinte sau dacă pagina în sine este o pagină părinte. Dacă este o pagină părinte, atunci afișează paginile copil asociate cu aceasta. Dacă este o pagină copil, atunci afișează toate celelalte pagini copil ale paginii părinte. În sfârșit, dacă aceasta este doar o pagină fără pagini copil sau părinte, atunci codul nu va face nimic. Așadar, adaugă acest shortcode [wpb_childpages]
pe pagina unde se vor afișa paginile copil.
Rezultatul meu de test care a funcționat pe localhost:
Test1
-t1
--tt1
-t2
iar rezultatul afișat când am folosit acel shortcode în pagina Test1 este:
t1
t2

Dar preia și subpagini ale subpaginilor. Eu vreau doar subpaginile paginii părinte.

@ArshadHussain: ok.. atunci pentru asta adaugă &depth=1 cu &echo.. vezi linia actualizată în postarea mea.

ce se afișează? încă se afișează servicii, produse?? dar la mine a funcționat..

@ArshadHussain: dacă răspunsul meu te-a ajutat, te rog să îl marchezi ca răspuns.. oricum, mă bucur că ți-ai rezolvat problema.. :)

Îmi pare rău, dar rangul meu este prea mic pentru a vota. Am să țin cont pe viitor

Dacă dorești doar subpaginile paginii curente, folosește acest cod:
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');
