[英]Wordpress - How to set different posts per page number for two different categories?
在我的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个。
谁能告诉我该如何处理第二页和下一页?
您不应该运行自定义查询来代替主查询。 它们总是导致更多问题,分页始终是您遇到的问题之一。 另外,运行自定义查询来代替主查询会减慢您的页面速度,因此,这始终是一种松散的情况。
如果您需要在主查询中进行更改,请使用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 );
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.