各个类别的RSS提要条目长度?

时间:2012-11-06 作者:mahatmanich

我知道如何从wp中的一个类别中检索rss2提要,即添加/feed 类别名称后面。然而,当我这样做时,并非来自该提要的所有条目都包含在rss中,这是因为我在管理后端将提要限制设置为50。

我想知道是否可以通过编程为每个类别/提要单独设置提要长度。

我找不到任何关于提要大小的api设置。。。欢迎您的帮助。

谢谢你的帮助。

2 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

您应该能够使用pre_get_posts 并设置posts_per_page 有条件地增加到50(在类别中输入时)。不幸的是unresolved trac ticket.

唯一的解决办法是post_limits 并更换LIMIT SQL查询的一部分。

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;
}

SO网友:Oleg Butuzov

add_filter(\'query\', \'sql_query_feed_filter\');
function sql_query_feed_filter($sql){
    global $wp_query;

    if ($wp_query->is_feed == true &&  isset($wp_query->query_vars[\'custom_taxonomy\']) &&  in_array($wp_query->query_vars[\'custom_taxonomy\'], array(\'slug1\',\'slug2\')) ){
        if (strpos($sql, \'SELECT SQL_CALC_FOUND_ROWS\') !== false){
            list($sql,) = explode(\'LIMIT\', $sql);
        }
    }
    return $sql;
}
您所需要做的只是编辑此函数,并根据您的类别分类法重新设置分类法,然后将slug编辑到您的类别中。。。

结束

相关推荐

如何将RSS提要导入为WordPress帖子而不复制?

我有一个XML提要url,现在我正在使用此代码从我的函数中的rss提要创建新的自定义帖子类型。php文件: /* | ------------------------------------------------------------------- | Schedule and update fashion news with the news rss feed | -----------------------------------------------------