SanviInvi
@SanviInvi

Как получить ближайшие вложенные страницы?

Нашел пример как получить все вложенные страницы, но не понимаю как получить ближайшие вложенные страницы.

<?php
$id = 123;

$config = array(
  'post_parent' => $id ,
  'post_type'   => 'page',
  'numberposts' => -1,
  'post_status' => 'publish'
);

$child = get_children($config);

if ($child) {
  foreach ($child as $page) {
    echo $page->ID;
  }
} else {
  echo 'Нет дочерних страниц.';
}
?>
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
'numberposts' => -1 рекурсивно получает все дочерние страницы указанного родителя, если его не указывать, то вернуться лишь те дочерние страницы, у которых parent_id == id родителя:
<?php
$id = 1;

$config = [
  'parent' => $id,
  'post_type' => 'page',
  // 'numberposts' => -1,
  'post_status' => 'publish',
];

$child = get_pages($config);

if($child) {
  foreach($child as $page) {
    echo $page->ID;
  }
} else {
  echo 'У этой страницы нет дочерних страниц.';
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@UthvfyV
$config = array(
'post_parent' => $id ,
'post_type' => 'page',
'numberposts' => -1,
'post_status' => 'publish'
);
Вместо 'numberposts' => -1 поствьте к-во записей сколько хотите получить. numberposts(число) - сколько дочерних записей надо получать. -1 — все. По умолчанию стоит -1, тобиш все, что у вас и есть. Вместо -1 поставьте 5 или 10, без минуса. Вот так 'numberposts' => 5, или 'numberposts' => 10,. Что значит получить 5 или 10 стр.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы