Как настроить вывод дочерних страниц в меню навигации WordPress?
Здравствуйте! У меня возникла проблема с настройкой вывода дочерних страниц в меню навигации WordPress. Я хочу, чтобы в моем меню отображались только дочерние страницы текущей страницы, а не все дочерние страницы сайта. Можете ли вы помочь мне с этим?
$parent_id = get_the_ID();
$args = array(
'child_of' => $parent_id,
'depth' => 1,
);
$pages = get_pages($args);
if ($pages) {
echo '';
foreach ($pages as $page) {
echo '- ID) . '">' . $page->post_title . '
';
}
echo '
';
}
Я использую данный код в шаблоне страницы и ожидаю, что он выведет только дочерние страницы текущей страницы в меню навигации. Однако, в меню отображаются все дочерние страницы сайта, а не только дочерние страницы текущей страницы. Что я делаю не так? Буду благодарна за вашу помощь!
Ответы:
Судя по коду, который ты использовал, ты на правильном пути, но есть небольшая ошибка в его реализации. Вместо использования функции get_pages() с параметром child_of, тебе нужно использовать функцию wp_list_pages() с параметром child_of. Давай внесем изменения в твой код:
$args = array(
'child_of' => get_the_ID(),
'depth' => 1,
'title_li' => ''
);
wp_list_pages($args);
Таким образом, мы передаем параметр child_of, который указывает на текущую страницу, и параметр depth, который указывает на глубину вывода - в данном случае 1, то есть только дочерние страницы текущей страницы.
Кроме того, я добавила параметр title_li со значением пустой строки, чтобы убрать заголовок списка страниц, который обычно выводится по умолчанию. Если ты хочешь оставить заголовок, просто удали параметр title_li.
Надеюсь, это поможет тебе решить проблему с выводом дочерних страниц в меню навигации. Если у тебя возникнут еще вопросы, не стесняйся задавать их!