如何将子页面显示为数组

时间:2016-08-08 作者:innocent rock

我正在创建一个模板,该模板将显示父页面的子页面。

员工

♦ 管理人员

♦ IT人员

♦ 设计师

我希望父页面(员工)显示其子页面。

我已经尝试过:(在functions.php中)

function wpb_list_child_pages() { 

global $post; 

if ( is_page() && $post->post_parent )

    $childpages = wp_list_pages( \'sort_column=menu_order&title_li=&child_of=\' . $post->post_parent . \'&echo=0\' );
else
    $childpages = wp_list_pages( \'sort_column=menu_order&title_li=&child_of=\' . $post->ID . \'&echo=0\' );

if ( $childpages ) {

    $string = \'<ul>\' . $childpages . \'</ul>\';
}

return $string;

}

add_shortcode(\'wpb_childpages\', \'wpb_list_child_pages\');
和我的页面模板中的声明:

echo wpb_list_child_pages();
我得到了一个子页面列表,但作为一个列表(当然,代码没有问题)

我想将子项登记为数组项,以便执行以下操作:

$page1 = childrenID[0];
$page2 = childrenID[1];
$page3 = childrenID[2];
我希望这样,我可以主题子页面(按ID)在其父页面上。

我希望我是清楚的。

Update

使用后:`全球$员额$parent\\u id=the\\u id();

$children=get\\u posts(数组(\'post\\u parent\'=>$parent\\u id,\'字段\'=>\'id\');

echo$字符串=“

  • ”。内爆(“
  • ”,$子级)。\'
  • \'`

    我得到了一些帖子的ID列表,而不是页面。

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

    您应该使用get_posts 作用

    global $post;
    $parent_id = $post->ID;
    
    $children = get_posts(array(
        \'post_parent\' => $parent_id,
        \'fields\' => \'ids\'
    ));
    
    $string = \'<ul><li>\' . implode(\'</li><li>\', $children) . \'</li></ul>\';
    

    相关推荐

    Updating modified templates

    我想调整一些。php模板文件在我的WordPress主题中,我知道正确的过程是将相关文件复制到子主题文件夹中并在那里编辑文件,这样我的修改就不会在将来的主题更新中丢失。但这是否意味着我将无法从主题更新中获益,因为我将文件放在了我的子主题文件夹中?这可能不是一件好事,因为主题更新可能添加了一些有用的特性,甚至修复了我最初需要对代码进行调整的问题!这方面的常见解决方案是什么?有人推荐了一款Diff应用程序——这是人们常用的吗?