具有类别和帖子的自动目录

时间:2018-02-22 作者:pistacchio

我不知道这是不是一个标准功能,或者是否已经有一个插件可以做到这一点:

enter image description here

我想有一个侧边栏小部件,它可以生成一个目录,分解所有类别、子类别和每个类别/子类别的所有帖子,并按发布日期排序。当然,这可以用一个简单的标准菜单来完成,但我希望它能自动完成,例如当发布新帖子/添加新类别时,菜单应该自动反映这一点。

有没有插件可以做到这一点?

1 个回复
SO网友:SkyRar

这是一个plugin 这也是同样的道理。

function get_posts_per_taxterm($taxonomy, $term_id ){
    $posts = get_posts(
        array(
            \'posts_per_page\' => -1,
            \'post_type\' => \'post\',
            \'orderby\'  => \'menu_order\',
            \'order\'    => \'ASC\',
            \'tax_query\' => array(
                array(
                    \'taxonomy\' => $taxonomy,
                    \'field\' => \'term_id\',
                    \'terms\' => $term_id,
                    \'include_children\' => false
                )
            )
        )
    );
    // `first_post_id` is a global variable which contains the ID of the post which comes first inside TOC
    // @toDo Find a better way
    global $first_post_id;
    if(!isset($first_post_id)){
        if (!empty($posts)){
            $first_post_id = $posts[0]->ID;
        }
    }
    return $posts;
}
function get_array_of_posts_grouped_by_taxterms($terms, $parent_id = 0, $outputs = []) {
    foreach ($terms as $term) {
        if ($parent_id == $term->parent) {
            $outputs[\'<a data-id = "\'.$term->term_id.\'" class = "elementor-kb-term-href stm-content" href =\'.get_term_link($term->term_id).\'>\'.$term->name.\'</a>\'] = get_array_of_posts_grouped_by_taxterms( $terms, $term->term_id);
            $posts= get_posts_per_taxterm(\'category\',$term->term_id);
            foreach ($posts as $post){
                $outputs[\'<a data-id = "\'.$term->term_id.\'" class = "elementor-kb-term-href stm-content" href =\'.get_term_link($term->term_id).\'>\'.$term->name.\'</a>\'][] = \'<a class = "elementor-kb-post-href stm-content" href=\'.get_permalink($post->ID).\' data-id="\'.$post->ID.\'">\'.$post->post_title.\'</a>\';
            }
        }
    }
    return $outputs;
}

结束

相关推荐

WordPress如何以正确的方式覆盖link-template.php中的邻近_POSTS_REL_LINK_WP_HEAD()函数

我对WordPress开发很陌生。我正在使用WordPress 4.9.2。我目前正在研究以下问题。我有几个博客类别,它们彼此没有关系。例如“我们的服务”和“新闻”。现在我想确保每个帖子页面上的上一页/下一页链接只指向同一类别中的上一页/下一页。这应该适用于页面上的链接和head部分中的rel链接。我已经想好了,我只需要将标志$in\\u same\\u term设置为true。对于文章末尾的链接,我通过添加正确的参数解决了主题中已经存在的问题。只有head部分中的rel链接不是这样工作的。Needed