如何在WordPress中显示父页面的子页面列表?

时间:2014-07-03 作者:Arshad Hussain

我有以下格式的菜单。

Treatment
 -Beauty
  --Services
  --Products
 -Surgery
 -washing
我关注了以下链接:How to Display a List of Child Pages For a Parent Page in WordPress

但我不想要“美女”页面的子页面。我只需要“治疗”子页面。

2 个回复
最合适的回答,由SO网友:Zammuuz 整理而成

将此代码添加到函数中。php。下面给出了代码的解释。

function wpb_list_child_pages() { 

    global $post; 

    $id = ( is_page() && $post->post_parent ) ? $post->post_parent : $post->ID;
    $childpages = wp_list_pages( \'sort_column=menu_order&title_li=&child_of=\' . $id . \'&echo=0\' );
    //you can add `&depth=1` in the end, so it only shows one level

    if ( $childpages ) {    
        $string = \'<ul>\' . $childpages . \'</ul>\';
    }

    return $string;
}

add_shortcode(\'wpb_childpages\', \'wpb_list_child_pages\');

Explanation

代码检查页面是否具有父级,或者页面本身是否为父级。如果它是父页,则会显示与其关联的子页。如果它是子页面,则会显示其父页面的所有其他子页面。最后,如果这只是一个没有子页面或父页面的页面,那么代码将什么也不做。所以只需添加这个短代码[wpb_childpages] 到将显示其子页面的页面。

在本地主机上工作的测试输出:

测试1

-t1级

--tt1

-t2级

当我在Test1页面中编写该短代码时,显示的输出是:

t1级

t2级

SO网友:Mike

如果只需要当前页面的子页面,请使用以下选项:

function wpb_list_child_pages() {

    global $post; 

if ( is_page() && $post->ID )    
    $childpages = wp_list_pages( \'sort_column=menu_order&title_li=&child_of=\' . $post->ID . \'&echo=0&depth=2\' );

    if ( $childpages ) {    
         $string = \'<ul>\' . $childpages . \'</ul>\';
    }

    return $string;
}

add_shortcode(\'wpb_childpages\', \'wpb_list_child_pages\');

结束

相关推荐

Add wp-link-pages to post

我正在尝试添加wp-link-pages 功能到我的帖子中,我将图片拆分为多个页面。我已经有了next和prev按钮,其功能是用javascript编写的。如果我想从图1跳到图14,我觉得很难。所以我不知道如何实现这个wordpress,因为我是一个傻瓜。下面是我用来将帖子图像拆分为多个页面的代码。<?php global $post; if (has_post_thumbnail( $