如何使用常规查询生成所有页面和子页面的分层列表?

时间:2017-06-15 作者:Garland Briggs

我正在尝试使用常规查询查询所有页面(仅标题)以生成ul/li树结构:

// The Query
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post(); ?>
        <li><?php the_title(); ?></li> <?php
    }
} else {
    // no posts found
}
是否可以检测当前页面/帖子的级别,以及是否有父级?我只想让它输出如下内容:

<ul>
    <li>Parent 1<ul>
        <li>Child 1-1</li>
        <li>Child 1-2</li>
    </ul></li>
    <li>Parent 2</li>
    <li>Parent 3</li>
</ul>

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

您可以使用wp_list_pages() 相反如果您试图列出页面以外的内容,只需输入您的帖子即可:

<ul>            
<?php wp_list_pages(array(
\'post_type\' => \'yourposttype\',
\'title_li\' => \'\'
) ); ?>
</ul>
如果要在所有帖子类型上显示此内容,可以使用

<ul>            
<?php wp_list_pages(array(
\'post_type\' => $post->post_type,
\'title_li\' => \'\'
) ); ?>
</ul>
这将自动获取当前查看项目的帖子类型,并显示该帖子类型的完整树。

结束

相关推荐