显示类别页面中的帖子列表

时间:2017-07-09 作者:Thredolsen

What I\'m trying to do:

在每个类别的类别页面上,我希望有一个该类别中所有帖子的列表,而不是让每个帖子与其他帖子分开显示(即在单独的容器中)。

列表中的每一项都应该包含该帖子的标题,标题也可以作为该帖子的链接。顺序应为逆时间顺序(即最新帖子首先显示,这是默认顺序)。清单最好是要点,但这并不重要。

我需要使用外部插件插入代码,而不是编辑原始文件。

What I tried that didn\'t work:

最初我尝试使用插件(https://wordpress.org/plugins/list-category-posts/) 它使用一个快捷码输出所需的列表,然后将其放置在类别描述中。主要问题是,在描述中启用短代码会导致“我的主题”中出现错误,短代码的输出会复制到站点标题上方。(此外,我需要确保分类页面不显示任何帖子,只显示描述,我不知道该怎么做)。

Where I am now:

我已经设法让分类页面只显示标题。但是,每个标题都显示在单独的容器中。我不确定是否需要添加到此方法,或者完全尝试其他方法。

# Increase the number of posts per category page, so they all appear on one page:
function number_of_posts_on_category($query){
    if ($query->is_category) {
            $query->set(\'posts_per_page\', 150);
   }
    return $query;
}
add_filter(\'pre_get_posts\', \'number_of_posts_on_category\');


# Only display titles for posts on category pages:
function category_post_titles($content = false) {
if(is_category()) :
    global $post;
    $content = $post->the_title;
    if($content) :
        $content = apply_filters(\'the_title\', $content);
    endif;
endif;
return $content;
}
add_filter(\'the_content\', \'category_post_titles\');

1 个回复
SO网友:dbeja

一种选择是使用category\\u template filter用插件中的另一个文件替换category template:

function change_category_template( $template ) {
    $category_template = plugin_dir_path( __FILE__ ) . \'new-category.php\';
    return $category_template;
}
add_filter( \'category_template\', \'change_category_template\', 999 );
因此,在新文件中,您可以获得所需的结构。

主要的问题是,您正在替换整个模板文件,如果您想要与任何主题一起使用的东西,那么要实现这一点就比较困难。

结束

相关推荐

包含包含PHP文件的文件夹时出现白屏

因此,我目前正在使用样板插件结构开发一个插件。当我尝试包含项目所需文件的文件夹时,会出现问题。我转到admin类,并使用以下代码包含此文件夹中的所有内容:foreach(glob(\'folder/*.php\' ) as $file) { include_once $file; } 当我创建所包含的一个类的实例时,这会产生一个错误。如果不创建实例,则不会出现错误。尽管如此,如果我在文件顶部使用此代码,一切都会正常工作。include_once(\'folder/clas