如何列出wordpress中的所有子页面?

时间:2015-06-16 19:12:56

标签: wordpress

我有一个带有子页面X,Y,Z,D

的父页面A.

我想在第X页和第Y页显示指向所有子页面的链接

当您转到第X页和第Y页时,您应该看到所有子页X,Y,Z,D的列表

出于某种原因,我只得到子页面(第D页)

我正在使用此功能。

$args = array(
'sort_order' => 'asc',
'sort_column' => 'post_title',
//'hierarchical' => 1,
'exclude' => '',
'include' => '',
'meta_key' => '',
'meta_value' => '',
'authors' => '',
'child_of' => A,
'parent' => -1,
'exclude_tree' => '',
'number' => '',
'offset' => 0,
'post_type' => 'page',
'post_status' => 'publish'
); 
$pages = get_pages($args); 

if ( $pages) 
{   



    foreach($pages as $page)

{
$page = '<ul> <li> <a href=" ' .  get_page_link( $page->ID ) . '"> ' .$page->post_title . ' </a> </li></ul>';
}
return $page;








}

我做错了什么?

2 个答案:

答案 0 :(得分:0)

在该示例中,您未能关闭if语句。你也可以用foreach而不是return来使用echo。我稍微清理了你的代码。

<ul>
    <?php
    $args = array(
        'sort_order' => 'asc',
        'child_of' => '1',
        'post_type' => 'page',
        'post_status' => 'publish'
    );
    $pages = get_pages($args);

    if ($pages) {
        foreach ($pages as $page) :
            echo ' <li><a href="' . get_page_link($page->ID) . '"> ' . $page->post_title . ' </a></li>';
        endforeach;
    }
    ?>
</ul>

答案 1 :(得分:0)

我修好它并且有效

我修改了我的foreach

$links = '';    
foreach($pages as $page) {

$links .= '<ul> <li> <a href=" ' .  get_page_link( $page->ID ) .     '"> '     .$page->post_title . ' </a> </li></ul>';

}
return $links;

在我用之前      $ links =而不是$ links。=