在自己博客上显示自己的Twitter消息

之前我用Twitter for WordPress插件在博客首页上显示我的Twitter消息,后来发现有时无法显示。我在空间上部署tbackup后发现备份Twitter消息时经常提示Twitter API调用超限。仔细分析下来才知道每次有人打开博客首页都会触发一次Twitter API调用,这样很快1个小时150次的调用就超了。

更早之前用过Twitter的官方Widget,是Flash插件,因为加载速度有些慢,所以也放弃了。

在Wordpress后台的小工具转悠时发现有自带的RSS小工具,想起自己在Google Reader里也是用RSS订阅自己的Twitter消息(相当于让GR帮保存自己的Twitter消息),心生一计:把自己的Twitter RSS放到这个RSS小工具里不就实现想要的功能了嘛。

操作下来确实可行,见图示:

使用管理员登录后台,找到“①外观”下的“②小工具”,把“③RSS”小工具拖拽到“④右边栏”,这个就是博客首页右边框的编辑界面。

在浏览器上打开自己的Twitter首页,比如我的是http://twitter.com/lordong,在Following下有一栏“⑥RSS feed of xxx's tweets”,右击该链接选“⑦复制链接地址”(不同的浏览器名称可能不一样),然后贴到⑤处再保存即可,可以选择性修改一些参数,比如我只显示5条推。

2010-05-14 Updated:分析了一下源码,找到设置Feed缓存的时间在wp-includes/feed.php第527 行:
$feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200));
这里设置了缓存12个小时(=43200秒),我把它改成:
$feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 300));
即只缓存5分钟,这样每过5分钟就会重新取一次RSS,解决了长期不刷新的问题。

PS. 如果选择“显示时间”,时间格式是服务器时间而不是北京时间,在未找到修改方法之前暂不选择这项。

Tags: , ,

11 Responses to “在自己博客上显示自己的Twitter消息”

  1. admin说道:

    发现RSS里的Twitter消息没有自动刷新,得去研究一下源码

  2. Aliaosha说道:

    这方法相当妙啊,不过rss速度可能有些拖后

    • lordong说道:

      我刚试了在Echofon发完推就来打开博客首页,新发的推已经能显示出来,如果觉得缓存5分钟有点慢的话可以缩短些(这个缓存指的是不管你刷新页面的频率有多高,只有缓存超时后才会重新去读新的rss)。
      http://code.google.com/p/tw2other/ 这个tw2other就是使用1分钟读一次自己的rss然后同步到其它微博的,我就用它同步到新浪、网易和做啥网的微博。

      • Aliaosha说道:

        这方法不错的
        我以前用的thread twitter这个插件,现在不用了,博客和微博澈底分离,其实主要是为了博客的安全:)

        • lordong说道:

          我现在把博客定位成记录自己遇到问题时的处理过程和解决办法,这种谈论技术话题的博客说不定哪天就被GFW收藏了,所以也就无所谓了,到时咱还能翻墙继续用。

          • Aliaosha说道:

            恩,好乐观,我们主要受众在国内,人家不会翻墙,所以最好还是不要被墙

            • lordong说道:

              当然知道是这样了,但你看看“可能吧”,还不是想受众在国内,而最终的归宿还不是墙外。
              如果考虑到受众在国内的话,那空间和域名都不用考虑买海外的话,永不会被墙,但可能被消失。

  3. 咪咪集散地说道:

    恩~这个得试试!

  4. 午夜的梦想说道:

    文章很不错,但是wap需要汉化一下。

  5. cesar说道:

    墙内申请空间要备案,麻烦

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。