0

I'm using WordPress RSS Widget for one of my site. But found it's a bit lazy, it's not taking latest updates into the feed.

How can I make it quick in loading new updates?

1 Answer 1

1

WordPress supports external feeds, and parse the feed using a function named fetch_feed() from SimplePie. RSS widget is one of them using the same function to fetch external feed.

The Codex says:

fetch_feed caches results for 12 hours by default.

So, the feed you are fetching is actually at least 12 hours old. But a good news is there also that, you can modify the duration of the fetching by using a filter: wp_feed_cache_transient_lifetime.

How to use that? Simple. Just paste the following code into your theme's functions.php:

add_filter( 'wp_feed_cache_transient_lifetime', function(){ return 1800; });

Here,
we are using the filter to modify the duration. Here we are passing our new duration with 1800 [seconds]. The calculation is: 30 minutes = 30 min. x 60 sec. = 1800 sec.

Using the simple code you can change the duration.

Source:

3
  • 1
    Please do not use create_function(). It is very slow and hard to read. Use either real lambdas or regular named functions.
    – fuxia
    Commented Mar 20, 2014 at 7:15
  • @toscho: Thanks for the suggestion. I changed it to lambda (it's a new term to me though). Is it correct now? Love to learn more. :) Commented Mar 20, 2014 at 10:32
  • 1
    Lambda would look like this: add_filter( 'wp_feed_cache_transient_lifetime', function(){ return 1800; });.
    – fuxia
    Commented Mar 20, 2014 at 11:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.