Answers:
您应该可以有条件地使用pre_get_posts
并将其设置posts_per_page
为50(关于类别的提要)。不幸的是,有这张悬而未决的火车票。
唯一的解决方法是直接挂钩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;
}
return "";
而不是"LIMIT $page_start, $per_page"
应该这样做。
LIMIT
查询的一部分。上面的过滤器允许您LIMIT
用空白字符串替换该部分,以便生成的sql将提取所有帖子。
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;
}
您需要做的就是编辑此功能,然后按类别分类替换分类,然后将子词编辑到您的大部分类别...