2013-08-21 137 views
0

我正在處理向插入添加另一個參數的插件,我想在URL上添加一個numberOfItems,並且提要返回該文章數量。我不想使用WP Admin的內置選項,因爲Feed會添加到具有不同數量項目的其他網站上,這有點複雜,重點是我需要這個實現。我已經添加了像禁用WordPress 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'); 

看來,飼料以某種方式緩存和犯規與項目的數量產生,因爲當我添加分頁= 2,它的工作原理。但是,如果我改變頁面= 2 numberOfItems與另一個數字,它不會改變。另外,我在wp-includes> feed-rss2.php中添加了一些垃圾文本,以驗證它是否緩存。在第2-3頁刷新後,它不會顯示。

說實話,我卡住了,我不知道如何解決這個問題,我查看了wordpress代碼,我沒有看到緩存的位置。

回答

0

這是怎麼回事?

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

add_action('wp_feed_options', 'do_not_cache_feeds'); 
+0

它不是關於從另一個網站解析時SimplePie和緩存。我正在嘗試向我的供稿網址添加一個參數,以顯示X篇文章,而不是10個。類似於domain.com/feed?numberOfItems=3。問題是飼料以某種方式被緩存。當我嘗試使用瀏覽器進行查看時,它不會更改我想要的項目數量,也不會緩存這些項目。 –