Wordpress 非插件调用最新 Twitter

  昨天,转载了一篇《Wordpress 免插件输出最新 Twitter》的文章,不过很可惜的是,这个方法只适用于国外主机,因为国内主机的环境读不到墙外 Twitter 的 feed。之后,从 live spaces 到 Wordpress 都无所不能的任平生大哥分享了一下他的方法,墙内外皆可适用,经向任兄求助得知,其原理就是使用 yahoo pipes 过滤 Twitter 中不需要的信息,然后用 Wordpress 自带的解析函数输出,不过因为我身在网吧,限制重重,没能按照任兄的方法实现,但是只要理解其中原理,再 DIY 一个属于自己的墙内外适用的非插件调用 Twitter 也非难事。

  几经搜索,找到 tidyTweet 这个网站,该网站可以收集并过滤输出 Twitter 的信息,在其网站上看到有适用于 Wordpress 的插件,但是我肯定不会选择插件啦,要的就是折腾。下面完整介绍下墙内外都适用的  Wordpress 非插件调用最新 Twitter 信息的方法。

1、注册 tidyTweet(http://www.tidytweet.com/)

  这好像有点废话,不过为了这废话我也费了点时间,在网上要找到可以过滤 Twitter 并输出 feed 的也就十来个网站,没有被墙的,就那么一两个,速度快、自定义程度高的我看也就这么一个了。

  注册成功后,需要从 tidyTweet 发来的确认邮件中激活(所以邮箱地址别乱填),此时会得到一个 account.tidytweet.com 这样的二级域名。

2、添加并设置 Twitter Feed

  接下来就是设置 Twitter 的 feed 了,按照提示即可。其中的 Search phrase 挺关键的,直接影响了你的 Twitter 输出什么信息,我个人觉得一般用 from:Twitter 帐号比较好,比如我就填 from:wange1228。其他更多选项可以默认,也可以根据自己的不同需要修改,还是挺人性化的。

3、获取 feed

  上一步保存之后,会返回五个可选的应用选项,分别是 Public Feed、RSS、Embed Widget、Visible Tweets、Wordpress,根据不同的应用可以选择不同的方式,这里不一一介绍了,有兴趣的朋友可以都尝试下。在本例中我选择的是 RSS,点击后获取 URL 地址,比如我的是:http://wange.tidytweet.com/wange1228.atom,这就是我们下一步需要调用的 feed 地址。

4、调用 Twitter

  蓝冰童鞋非要戳到我哭,还要把我戳死,他告诉我这算不上同步,只能说是调用,好吧,我们开始调用 Twitter 到 Wordpress。这里需要用上 Wordpress 自带的 feed 输出函数 wp_widget_rss_output() 和上一步得到的 URL 地址,使用方法如下:

<?php
wp_widget_rss_output('http://wange.tidytweet.com/wange1228.atom',array('items'=>1));
?>

  其中,http://wange.tidytweet.com/wange1228.atom 就是从 RSS 得到的 URL 地址,'items'=> 后面的数值就是输出的 Twitter 信息数量,我只输出了一条,效果可以看小站首页,关于样式嘛,大家就发挥创造力和想象力吧。

本文已盖 58 层楼

  1. 又来看这个文章了,哈哈~

  2. 回复 Heson 说:

    你现在怎么上 twitter啊?

  3. 回复 侯宁波 说:

    wange的意思是 插上去就影响心情,还是不插了

  4. 哎……
    没有时间鼓捣了 ……
    遗憾,,,,

  5. 回复 keelii 说:

    PHP在输出的时候没有把"&quot;"转换成引号(“)
    晕!前面打成英文的;还自动转成了绰号

  6. 回复 keelii 说:

    我看过上次那个代码了,有个小bug:无法通过W3C的html验证。PHP在输出的时候没有把"转换成引号(")。我改了一下,貌似可以通过验证了!代码如下:
    <?php
    // Your twitter username.
    $username = "keelii";
    // Prefix - some text you want displayed before your latest tweet.
    // (HTML is OK, but be sure to escape quotes with backslashes: for example href=\"link.html\")
    // Suffix - some text you want display after your latest tweet. (Same rules as the prefix.)
    $suffix = "";
    $feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1";
    function parse_feed($feed) {
    $stepOne = explode("", $feed);
    $stepTwo = explode("", $stepOne[1]);
    $tweet = $stepTwo[0];
    $tweet = str_replace("<", "", $tweet);
    $tweet = str_replace(""", "\"", $tweet);//repair for html validation
    return $tweet;
    }
    $twitterFeed = file_get_contents($feed);

    echo stripslashes($prefix) . parse_feed($twitterFeed) . stripslashes($suffix);
    ?>

  7. 回复 任平生 说:

    为什么不用 yahoo pipes 呢: http://pipes.yahoo.com/myrpsh/twitterfilter?_render=rss&reply=no&rt=yes&tid=wange1228
    把id 改成你的 twitter id 就能用了啊

  8. 回复 bolo 说:

    有插件干嘛不用呢?所谓的有插件和无插件实现某个功能的原理都是一样的,对效率的影响很微,除非某个插件的逻辑写得很烂

  9. 不插的习惯很好, :lol:

  10. 回复 A.shun 说:

    om那个方法看起来简单些嘛

  11. 回复 星网 说:

    我有推~!只是很少推!

  12. 回复 iBoluo 说:

    :?: 算了,对 Twitter 无爱,如果都调用过来,还不一下子一大堆信息?还是算了吧。

  13. 這個還不是調用所有好友信息的方法吧?

  14. 回复 蓝冰 说:

    似乎还有个办法。。。用自定义的api~!不过感觉麻烦~!

  15. 回复 江流 说:

    我的是国外主机 哈哈

  16. 回复 猴子 说:

    这太累人了,我是觉得博客上要同步或者调用微博信息的话,还是选择国内的平台好了。
    但话说回来,从博客到推,不容易。从推到博客,却是很方便。 :wink:
    对了老万,你还在网吧里上嘛?我启用阿三米了,你有空帮我改下链接地址吧。 :idea:

  17. 回复 zwwooooo 说:

    汗~大过年万戈同志还这么高的文章产量和折腾劲!祝你虎年更生猛!

  18. 回复 evlos 说:

    嘻嘻,最近咱们都在炒TWITTER,希望有好的效果 ~ :idea:

  19. 回复 少杰 说:

    唉!我也来推了,推推更健康。百事皆可乐。

  20. 回复 卢松松 说:

    看来俺是用不上了

  21. 回复 章鱼 说:

    你们都欺负我 我叫御姐把你们推倒

  22. 回复 hzlzh 说:

    春哥是站在我这边的~~对还有曾哥 :grin:

  23. 回复 hzlzh 说:

    原来你是这么弄得啊~真没少费心~~~
    还好我是外国主机,直接就读官方的feed,哈哈~~得意死了 :twisted:

  24. 回复 hzlzh 说:

    哈哈 沙发 啊 ~

Leave a comment

您已输入0

三言两语

我的生活心情语录

工作手札

路漫漫其修远兮

精品推荐

好东西要分享

嘻哈娱乐

八卦趣事一笑而过

电脑网络

全新技术尽搜罗

转来载去

文人墨客美文赏析