问题描述

我知道如何从 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。