带有父标题和子子页面的WordPress侧导航

时间:2016-05-07 00:55:37

标签: php wordpress

我在WordPress中有以下导航结构:

  Page
     Sub Page
        Child Page
        Child Page
        Child Page
  Page
     Sub Page
        Child Page
        Child Page
        Child Page
  Page
     Sub Page
        Child Page
        Child Page
        Child Page

在每个子页面和子页面上,我想在侧栏中显示以下内容:

  Sub Page
        Child Page
        Child Page
        Child Page

我最接近的是来自here的以下代码:

<ul>
<?php
global $post;
$current_page_parent = ( $post->post_parent ? $post->post_parent : $post->ID );      
wp_list_pages( array(
       'title_li' => '',
       'child_of' => $current_page_parent,
       'depth' => '1' )
);
?>
</ul>

但是,在子页面上它只显示所有子页面(没有子页面)的列表,在子页面上,它显示该部分的子页面列表,但缺少父子页面标题。

如何修改以实现我正在寻找的目标?

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,你是对的,这不显示子或子的父页面,因为你可以使用下面的代码。

<?php if ( $post->post_parent ) {
$children = wp_list_pages( array(
    'title_li' => '',
    'child_of' => $post->post_parent,
    'echo'     => 0
) );
$title = get_the_title( $post->post_parent ); } else {
$children = wp_list_pages( array(
    'title_li' => '',
    'child_of' => $post->ID,
    'echo'     => 0
) );
$title = get_the_title( $post->ID );} if ( $children ) : ?>
<h2><?php echo $title; ?></h2>
<ul>
    <?php echo $children; ?>
</ul>