我正在开发一个插件,它会在Feed中添加另一个参数,我想在网址上添加一个numberOfItems,并且Feed会返回该数量的文章。我不想使用WP Admin的内置选项,因为Feed将添加到具有不同项目数的其他网站上,这有点复杂,关键是我需要这个实现。我添加了类似
的内容function _my_custom_option( $option )
{
global $wp_query, $wp_rewrite;;
remove_filter( 'pre_option_posts_per_rss', '_my_custom_option' );
//$number = get_query_var('number');
$number = $wp_query->query_vars['numberOfItems'];
if(isset($number))
$option = $number;
else
$option = 10;
//$wp_rewrite->flush_rules();
add_filter( 'pre_option_posts_per_rss', '_my_custom_option' );
return $option;
}
add_filter( 'pre_option_posts_per_rss', '_my_custom_option' );
似乎Feed以某种方式缓存,并且不会生成项目数,因为当我添加paged = 2时,它可以正常工作。但是,如果我在页面上更改numberOfItems与另一个数字,它不会改变。另外,我在wp-includes> feed-rss2.php中添加了一些垃圾文本,以验证它是否缓存。并且在前2-3页刷新后它没有显示。
老实说,我被卡住了,我不知道如何处理这个问题,我查看了wordpress代码,我没看到缓存完成的位置。
答案 0 :(得分:0)
这个怎么样?
function do_not_cache_feeds(&$feed) {
$feed->enable_cache(false);
}
add_action( 'wp_feed_options', 'do_not_cache_feeds' );