Как отобразить список дочерних страниц родительской страницы в WordPress?
У меня следующая структура меню.
Лечение
-Красота
--Услуги
--Товары
-Хирургия
-Мытье
Я следовал этой ссылке: Как отобразить список дочерних страниц для родительской страницы в WordPress
Но мне не нужны подстраницы страницы "Красота". Я хочу получить только подстраницы "Лечение".

Добавьте этот код в ваш файл functions.php. Ниже приведено объяснение кода.
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' );
// можно добавить `&depth=1` в конце, чтобы отображался только один уровень
if ( $childpages ) {
$string = '<ul>' . $childpages . '</ul>';
}
return $string;
}
add_shortcode('wpb_childpages', 'wpb_list_child_pages');
Объяснение
Код проверяет, имеет ли страница родителя или сама является родительской. Если это родительская страница, то она отображает дочерние страницы, связанные с ней. Если это дочерняя страница, то отображаются все другие дочерние страницы того же родителя. Наконец, если это просто страница без дочерних или родительских страниц, код ничего не делает. Просто добавьте этот шорткод [wpb_childpages]
на страницу, где должны отображаться её дочерние страницы.
Мой тестовый вывод, который сработал на локальном хосте:
Test1
-t1
--tt1
-t2
и вывод, который отображается, когда я добавил этот шорткод на страницу Test1:
t1
t2

Но он также загружает подстраницы подстраниц. Мне нужны только подстраницы родительской страницы.

@ArshadHussain: ок.. тогда добавь &depth=1 вместе с &echo.. смотри мою обновленную строку в моем посте.

что отображается? до сих пор показываются услуги, продукты?? но у меня сработало..

@ArshadHussain: если мой ответ вам помог, пожалуйста, отметьте его как решение.. в любом случае, рад слышать, что ваша проблема решена.. :)

Извините, но мой рейтинг слишком низкий, чтобы проголосовать. В будущем я учту это

Если вам нужны только подстраницы текущей страницы, используйте этот код:
function wpb_list_child_pages() {
global $post;
// Проверяем, является ли текущая страница родительской и имеет ли ID
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');
