改变wordpress小工具中RSS widget的更新频率

wordpress的边栏小工具中有一个名叫RSS,支持将其他网站的内容订阅到自己的博客。但是这个小工具有一个问题,就是刷新率不可调节,对于一些更新频繁的网站,订阅内容不能够即时显示。本人的博客就是用了这款小工具来订阅我的微博来更新状态,由于微博更新较频繁,而RSS工具的刷新频率过低,导致今天的状态第二天才能够显示。本篇文章介绍一种方法,可以通过编辑wordpress主题文件来调节RSS工具的刷新频率。

方法非常简单,将博客所用的主题文件打开,找到function.php(functions.php),然后在其中加上如下代码:

add_filter( ‘wp_feed_cache_transient_lifetime’,  create_function(‘$a’, ‘return 600;’) );

其中600就是新设置的更新时间,单位为秒,可以自己来定义。

那么这段代码是什么含义呢?

其中add_filter函数是wordpress的一个内部函数。通过该函数可以实现如下功能,在wordpress的核心进程和指定函数之间建立一个“hook”,并在“hook”成立时执行指定函数。add_filter函数接受两个变量,其中“’wp_feed_cache_transient_lifetime”就是上面提到的hook(我的理解,也就是wordpress核心进程中的一个变量,用于判断是否执行指定的函数,或者将函数的值返回给它,相当于指定函数同核心进程之间的一个“关联”也就是“hook”);“create_function(‘$a’, ‘return 600;’)”就是指定的函数,这个函数的含义是创建一个函数,返回RSS widge的刷新时间。

真个过程是这样的,add_filter函数判断核心进程心中“wp_feed_cache_transient_lifetime”变量的出现,然后在进程中创建一个函数,返回600秒,赋到“wp_feed_cache_transient_lifetime”中。

按照这种方法,用户就可以指定RSS的刷新频率了!

(附:原英文文章链接Increase the WordPress RSS Widget Refresh Rate