将页面摘要添加到特定页面

时间:2015-04-17 作者:multigoodverse

我知道WordPress会自动生成帖子列表,但我一直在寻找的是页面摘要,可能是分层格式的,位于某个页面的侧面。以下是一个示例:http://www.w3schools.com/js/js_variables.asp

虽然那个网站不使用Wordpress,但这正是我想要的功能。我知道在创建新页面时如何分配父页面,但我不知道如何生成摘要并将其放在一旁。我需要任何特定的插件吗?

1 个回复
SO网友:TheDeadMedic

您可以使用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>

结束

相关推荐

Using categories with pages

我正在尝试使用页面类别(而不是帖子)作为筛选子页面的一种方式。我正在努力创建一个“工作”页面,其中列出了所有的子项,并且每个子项也将对其应用类别。另一个子菜单将允许您选择类别,并且仅列出这些子页面。迄今为止:functions.php - Show categories meta box for pagesfunction myplugin_settings() { register_taxonomy_for_object_type(\'category\', \'page\');