我在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
个页面
感谢您的帮助!
答案 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(显示:标题,内容)