获取儿童页面Wordpress

时间:2017-03-17 10:32:38

标签: php wordpress

我在Wordpress中使用了这个层次结构:

- Page
    - Child 1
    - Child 2
    - Child 3
        - Subchild 1
        - Subchild 2
    - Child 4
- Page

我想要做的只是显示Subchild页面所以我这样做了:

<?php 
     wp_list_pages( array(
        'child_of' => $post->ID,
        'depth' => 2 
        'sort_order' => 'asc'
    ));
?>

但它会显示所有child个页面,而不仅仅是SubChild个页面

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

要显示基于父页面的子页面,我编写了以下代码:

在childArgs中你给出了参数,最重要的是child_of,在这里我说我希望页面中有这个ID的所有页面。您可以使用get_the_ID()函数或从页面中添加ID。

$childList中,我使用get_pages函数返回特定页面ID中数组中的所有页面。

比我使用get_pages函数获得的数组而不是显示内容&amp;标题。如果你想单独设置子页面的样式,我使用post_class()函数将子页面名称作为类赋予它。

<?php
      $childArgs = array(
          'sort_order' => 'ASC',
          'sort_column' => 'menu_order',
          'child_of' => get_the_ID()
      );
      $childList = get_pages($childArgs);
      foreach ($childList as $child) { ?>
        <!-- Generates all class names you would expect from a normal page. Example: page, post-{id} etc. -->
        <section <?php post_class($child->post_name); ?>>

        <h1><?php echo $child->post_title; ?></h1>


        <?php echo apply_filters( 'the_content', $child->post_content); ?>

        </section>  

    <?php } ?>

结果是: - 主页(不显示)   - subpage1(显示:标题,内容)   - subppage2(显示:标题,内容)