簡體   English   中英

WordPress-如何為兩個不同類別的每頁號設置不同的帖子?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM