1

我正在开发一个向提要添加另一个参数的插件,我想在 url 上添加一个 numberOfItems 并且提要返回该数量的文章。我不想使用 WP Admin 的内置选项,因为提要会添加到具有不同数量项目的其他网站上,这有点复杂,关键是我需要这个实现。我添加了类似的东西

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' );

似乎提要以某种方式缓存并且不会随项目数生成,因为当我添加 paged=2 时,它可以工作。但是,如果我在 page=2 numberOfItems 上更改为另一个数字,它不会改变。另外,我在 wp-includes >feed-rss2.php 中添加了一些垃圾文本,只是为了验证它是否缓存。并且在前 2-3 页刷新后不显示。

老实说,我被卡住了,我不知道如何解决这个问题,我查看了 wordpress 代码,但没有看到缓存在哪里完成。

4

1 回答 1

-1

那这个呢?

 function do_not_cache_feeds(&$feed) {
     $feed->enable_cache(false);
 }

 add_action( 'wp_feed_options', 'do_not_cache_feeds' );
于 2013-08-21T16:18:01.857 回答