您可以使用wp_list_pages
使用child_of
参数:
/**
* Display hierarchical list of all posts for a given post.
*
* @param int|WP_Post $post Display for post. Defaults to current post/page.
*/
function wpse_184554_list_section( $post = null ) {
if ( ! $post = get_post( $post ) )
return;
if ( $post->post_parent && $ancestors = get_post_ancestors( $post ) )
$parent_id = array_pop( $ancestors );
else
$parent_id = $post->ID;
echo \'<ul class="pages">\';
wp_list_pages(
array(
\'post_type\' => $post->post_type, // Will work for any hierarchical post type
\'child_of\' => $parent_id,
\'title_li\' => \'\',
)
);
echo \'</ul>\';
}
这将输出当前页面顶级父级的所有子页面的层次结构列表(如果当前页面没有父级,则仅输出所有子页面)。
在你的functions.php
. 要使用,请在任何模板文件中调用它,例如:
<div class="sidebar">
<?php wpse_184554_list_section() ?>
</div>