在我的Wordpress网站上,我有两个类别:新闻和分会。如何将新闻类别的每页帖子数量设置为10,分会类别每页4个帖子?
我在设置>中设置了每页的帖子数量阅读10和新闻按我的意愿工作但不是分会
我在俱乐部类别中有自定义循环,我将posts_per_page设置为4。 在category-club.php我有
$args=array(
'category_name'=>'club',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 4,
'orderby' => 'date',
'order' => 'desc',
'paged' => ((get_query_var('paged')) ? get_query_var('paged') : 1)
);
但是当我切换到此类别中的帖子的第2页时会出现问题。我收到404错误。我认为这是因为我在此类别中的帖子少于10个。
任何人都可以告诉我如何才能让第二页和下一页有效?
答案 0 :(得分:1)
您不应该运行自定义查询来代替主查询。它们总是导致更多的问题,而且你经历过的分页总是其中之一。此外,代替主查询运行自定义查询会降低页面速度,因此它总是松散的情况。
如果您需要更改主查询中的内容,请使用pre_get_posts
来实现您的需求。您可以尝试以下操作:(只需记住返回类别页面中的默认循环)
add_action( 'pre_get_posts', function ( $q )
{
if ( !is_admin() // Only target the frontend
&& $q->is_main_query() // Only target the main query
&& is_category() // Only target category pages
) {
if ( is_category( 'news' ) )
$q->set( 'posts_per_page', 10 );
if ( is_category( 'club' ) )
$q->set( 'posts_per_page', 4 );
}
});