WordPress列表父页面和子/父级标题未显示在父页面上

时间:2015-03-17 09:31:40

标签: php wordpress

目前我正在使用此代码打印父页面及其子页面的列表。

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

当我在子页面上时,一切正常。它打印父页面的标题和子页面的标题。

但是当我在父页面上时,它只会打印子页面而不是父页面的标题。

我想要实现的目标:

在父页面上:

  • 父标题(目前未显示)
  • 儿童1
  • Child 2
  • 儿童3

在儿童页面上:

  • 父母标题
  • 儿童1
  • Child 2
  • 儿童3

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您的代码运行正常,您在“其他”规则中错过了一段时间

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