0

我目前正在使用此代码(根据法典)在父页面上显示子页面,并在其子页面上显示父页面的子页面:

<?php if($post->post_parent)
    $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
  else
    $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
  if ($children) { ?>
    <ul>
    <?php echo $children; ?>
    </ul>
<?php } ?>

我想补充一点,如果在次要子页面(孩子的孩子)上显示它是父母和父母的兄弟姐妹。

感谢您的帮助!:D

4

1 回答 1

1
<?php
if($post->post_parent)
{
    //get the parent post
    $parent = get_post($post->post_parent);
    //check to see if we have a grandparent
    if($parent->post_parent)
    {
        $page_list = wp_list_pages( array( 'child_of' => $parent->post_parent, 'echo' => false, 'depth' => 1 ) );   
    }
    else
    {
        $page_list = wp_list_pages( array( 'child_of' => $post->post_parent, 'echo' => false, 'depth' => 1 ) );
    }
}
else
     $page_list = wp_list_pages( array( 'child_of' => $post->ID, 'echo' => false, 'depth' => 1 ) );
if ($page_list) { 
?>
<ul>
<?php echo $page_list; ?>
</ul>
<?php } ?>

这将检查帖子是否有父级,然后检查该帖子是否有父级。$page_list应该是父页面及其兄弟页面的列表。告诉 WordPress 只获取'depth' => 1一级页面。这将阻止它获取这些页面的孩子

于 2012-06-28T20:56:00.047 回答