获取子页面的子页面-自定义帖子

时间:2012-11-02 作者:M3o

我有一个自定义帖子页面。它们显示在一个带有列表的页面中,您可以选择一个页面,当您到达该页面时,我需要显示该页面的子页面。

以下是迄今为止我制作的第一页自定义帖子:

  <select name="select_page" id="select_page" class="select_page" data-mini="true" data-theme="c">

    <?php
        $pageId = 5;
        $subpages = get_pages( array(
        \'child_of\' => $pageId,
        \'sort_order\' => \'asc\',
        \'sort_column\' => \'menu_order\') );
    ?>        

    <?php if($post->post_parent) {?>
    <option value="<?php echo get_page_link($pageId) ?>" >Startpage</option>
    <?php } else {?>
    <option value="<?php echo get_page_link($pageId) ?>" selected="selected">Startpage</option>
    <?php } ?>
这就是列表,我需要显示子页面中的子页面,并在列表中显示它。

   <?php                                   
    foreach($subpages as $page) { $i++;
    $pages[] += $page->ID;      
    ?>
    <?php if($page->post_title == get_the_title()) {?>
    <option value="<?php echo get_page_link($page->ID) ?>" selected="selected"><?php echo $i.\'. \'.$page->post_title ?></option>
    <?php } else {?>
    <option value="<?php echo get_page_link($page->ID) ?>"><?php echo $i.\'. \'.$page->post_title ?></option>  <?php } ?>
    <?php }?> 

    </select>
我的问题是:

How can I show subpages of that subpage ?

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

问题就在这里

$subpages = get_pages( array(
\'child_of\' => $pageId,
\'sort_order\' => \'asc\',
\'sort_column\' => \'menu_order\') );
“child\\u of”参数还查询孙子和子代。改为使用“parent”参数,该参数将只查询直接子级。完成后,您将在foreach中再次使用相同的代码

foreach($subpages as $page) {
    $subsubpages = get_pages( array(
    \'parent\' => $page->ID,
    \'sort_order\' => \'asc\',
    \'sort_column\' => \'menu_order\') );

    // use $subsubpages along with $page here
}
如果您想在级别上进一步降低,那么可能需要以递归函数的形式实现此逻辑

结束

相关推荐

Editing options pages?

我正试图找到一种方法,在现有的选项页面中添加一个复选框,很可能是选项阅读。php编程。不幸的是,我没有找到任何关于这方面的好参考资料。社区有什么想法吗?