[英]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.