我知道如何从wp中的一个类别中检索rss2提要,即添加/feed
类别名称后面。然而,当我这样做时,并非来自该提要的所有条目都包含在rss中,这是因为我在管理后端将提要限制设置为50。
我想知道是否可以通过编程为每个类别/提要单独设置提要长度。
我找不到任何关于提要大小的api设置。。。欢迎您的帮助。
谢谢你的帮助。
我知道如何从wp中的一个类别中检索rss2提要,即添加/feed
类别名称后面。然而,当我这样做时,并非来自该提要的所有条目都包含在rss中,这是因为我在管理后端将提要限制设置为50。
我想知道是否可以通过编程为每个类别/提要单独设置提要长度。
我找不到任何关于提要大小的api设置。。。欢迎您的帮助。
谢谢你的帮助。
您应该能够使用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;
}
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编辑到您的类别中。。。我有一个XML提要url,现在我正在使用此代码从我的函数中的rss提要创建新的自定义帖子类型。php文件: /* | ------------------------------------------------------------------- | Schedule and update fashion news with the news rss feed | -----------------------------------------------------