WP_LIST_PAGES()未在帖子中显示

时间:2012-03-06 作者:Joshua

我的网站(在我的header.php 但当我打开一篇帖子时,它就消失了:

<div id="dep-menu">
    <?php global $post;
    if (!is_front_page()) { // so I don\'t display a link on the homepage saying "Homepage"
        if($post->post_parent) { //if page has parent
            $children = wp_list_pages("title_li=&include=".$post->post_parent."&echo=0"); //include a link to the parent
            $children.= wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); //add the child pages
        } else {
            $children = wp_list_pages("title_li=&include=".$post->ID."&echo=0");//parent link
            $children.= wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");//children
        }
        if ($children) { ?>
            <ul>
            <?php echo $children; ?>
            </ul>
        <?php }
    }
?>
</div>
这对我的页面来说非常有效。此网站上的页面有效get x posts from y category and display title and excerpt. 任何页面的深度都不超过2,这意味着任何url都不超过domain.com/cat-x/cat-y/ 菜单可以在这些页面上运行。

当我打开url方案为的帖子时domain.com/cat-x/post-title/ 菜单掉了下来。

BEGIN EDIT

由于似乎有些混乱,我的页面层次结构如下:

parent 1
    child 1-1
    child 1-2
parent 2
    child 2-1
    child 2-1
parent 1 对应于类别名称,单击时,子菜单显示parent 1 | child 1-1 | child 2-1 显示每个帖子,显示其同名类别中的所有帖子。

然而,当我点击帖子时,子菜单消失了,我需要它保持持久性。

END EDIT

从本质上讲,如何再次显示菜单?据我所知,它应该留在那里,因为它仍然符合url模式,并且具有相同的类别。

1 个回复
最合适的回答,由SO网友:hannit cohen 整理而成

您的菜单是面向页面的。页面具有父级,查询会询问父级和同级。

访问帖子时,帖子没有hirarcy,wp\\u list\\u页面将不起作用,您无法按父级查询帖子。

最大的问题是,当访问单个帖子时,您希望显示什么。。。

如果要显示主站点导航,yuo可以执行以下操作:

<div id="dep-menu">
<?php global $post;
if (!is_front_page()) { // so I don\'t display a link on the homepage saying "Homepage"
    if (is_page()) {
        if($post->post_parent) { //if page has parent
            $children = wp_list_pages("title_li=&include=".$post->post_parent."&echo=0"); //include a link to the parent
            $children.= wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); //add the child pages
        } else {
            $children = wp_list_pages("title_li=&include=".$post->ID."&echo=0");//parent link
            $children.= wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");//children
       }
    } else {
        $children = wp_list_pages("title_li=&echo=0&depth=1"); //list top level pages
    }
    if ($children) { ?>
        <ul>
        <?php echo $children; ?>
        </ul>
    <?php }
}
?>
</div>

结束

相关推荐

如何防止家长在wp_Dropdown_Categories中被选中

我有一个父类别和几个父类别。每个groundchild都意味着以后要处理的特定方法。父母不应该被挑选出来,这仅仅意味着把孩子分组。我使用wp_dropdown_categories 具有child_of 显示下拉列表。家长的选择可能会让用户感到困惑。wp_dropdown_categories(\'child_of\'=>$ground_parent_id); 如果我添加exclude = $parent_ids, 整个下拉列表都消失了。wp_dropdown_categories(\'c