是否在父页面和每个子页面上列出父页面的所有子页面?

时间:2012-09-11 作者:mathiregister

我有一个名为“关于”的家长页面。此页面有三个子页面“成员”、“信息”、“联系人”。

我想列出所有四个页面上的所有子页面,以及父页面。现在我有一个只在父页面上列出所有子页面的列表。

<?php
        if ( !$post->post_parent ) {
            echo \'<ul id="subpages" class="wrapper">\';
                wp_list_pages("title_li=&child_of=".$post->ID."&link_before=— ");
            echo \'</ul>\';
        }
    ?>
但我希望所有的页面也列在每个单独的子页面上。

我该怎么做?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

此函数将执行此操作,它显示当前页面的子页面,但如果没有子页面,则显示父页面的子页面,并返回到父页面的链接。

/**
 * @brief: Shows the subpages of the current page, or
 *         the adjacent sibling pages.
 **/
function show_subpages(){

    global $post;
    $subpages = wp_list_pages( array(
        \'echo\'=>0,
        \'title_li\'=>\'\',
        \'depth\'=>2,
        \'child_of\'=> ( $post->post_parent == 0 ? $post->ID : $post->post_parent)
    ));
    if ( !empty($subpages) ) {

        if ( $post->post_parent != 0 ) {
            echo \'<p class="parent-link"><em>\'. __(\'Back to\') .\' <a href="\'. get_permalink($post->post_parent) .\'">\'. get_the_title($post->post_parent) .\'</em></a><p>\';
        }
        echo \'<ul>\';
        echo $subpages;
        echo \'</ul>\';
    } else {
        echo \'no subpages\';
    }
}
您可能需要将其置于主循环中

结束

相关推荐

获取Get_Pages等菜单项

我需要一种为wp\\u nav\\u菜单功能创建自定义HTML模板的方法。我听说过定制步行者课程,但这些课程似乎没有足够的帮助来实现我想要做的事情;至少据我所知,因为缺少有关walker函数的文档。我需要做的是能够向所有顶级菜单项添加一个“可悬停”类。我只需要两层菜单;顶层,然后是子菜单项。我需要向所有具有子菜单的菜单项锚元素添加一个“顶级”类。我需要所有子菜单列表来设置“sub nav”类。我需要所有最后的子菜单列表项(li)才能有一个类“last”。下面是我现在拥有的代码,它按照我需要的方式使用get