問題描述

我知道如何從 wp 中的類別中檢索 rss2 feed,即在類名中添加/feed 。但是,當我這樣做時,並非所有的 Feed 中的所有條目都包含在 rss 中,這是因為我在管理員後台將 Feed 限制設置為 50 。

我想知道每個類別/飼料中是否可以單獨設置飼料長度。

我找不到任何 api 設置的大小的飼料… 任何幫助歡迎在這裏。

謝謝你的幫助。

最佳解決方案

您應該能夠使用 pre_get_posts 並將 posts_per_page 設置為 50(有關類別的 Feed) 。不幸的是有這個 unresolved trac ticket

只有 work-around 才能掛接到 post_limits 中,並直接替換 SQL 查詢的 LIMIT 部分。

add_action('post_limits','wpse71759_category_rss_limit',10,2);
function wpse71759_category_rss_limit($limit, $query){

     if( $query->is_feed() && $query->is_category() ){
          $paged =  $query->get('paged') ? (int) $query->get('paged') : 1;
          $per_page = 50;
          $page_start = ($paged-1)*$per_page;

          return "LIMIT $page_start, $per_page";
     }
     return $limit;
}

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。