WordPress как отобразить все дочерние страницы дочерней страницы?

#wordpress #wordpress-theming #custom-wordpress-pages #children

Вопрос:

Я использую приведенное ниже, чтобы перечислить все дочерние страницы текущей родительской страницы. Теперь мне нужно перечислить и дочерние страницы детей… Это может сбить с толку..

Получить идентификатор текущей страницы > Отобразить всех прямых потомков этого идентификатора страницы >> Теперь мне нужно также отобразить детей детей текущих страниц…

Так похоже:

  - Child page 
   - Child of Child page
   - Child of Child page
 - Child page 
 
 <div class="nav-col">
    <?php 
    global $post;
    $direct_parent = $post->post_parent;
    ?>
    <div class="side-nav">
    <?php 
    wp_list_pages(array(
        'child_of'    => $direct_parent,
        'title_li' => ""
    ));
    ?>
    </div>
</div>
 

Ответ №1:

wp_list_pages принимает аргумент под названием «глубина». Вы могли бы использовать это для решения своей проблемы.

Значения, которые вы могли бы присвоить «глубине»:

  • -1 (любая глубина)
  • 0 (все страницы)
  • 1 (только страницы верхнего уровня)
  • n (страниц на заданную глубину n)
  • По умолчанию 0
 <div class="nav-col">
  <?php 
    global $post;
    $direct_parent = $post->post_parent;
  ?>
  <div class="side-nav">
  <?php 
    $args = array(
      'child_of'    => $direct_parent,
      'title_li'    => "",
      'depth'       => -1
    );
    wp_list_pages($args);
  ?>
  </div>
</div>
 

Документация:
https://developer.wordpress.org/reference/functions/wp_list_pages/