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 地址,使用方法如下:
wp_widget_rss_output('http://wange.tidytweet.com/wange1228.atom',array('items'=>1));
?>
其中,http://wange.tidytweet.com/wange1228.atom 就是从 RSS 得到的 URL 地址,'items'=> 后面的数值就是输出的 Twitter 信息数量,我只输出了一条,效果可以看小站首页,关于样式嘛,大家就发挥创造力和想象力吧。
-
WordPress 非插件调用 Twitter 修订版2010年06月28日 -
非插件同步 WordPress 日志到 Twitter2010年04月1日 -
用 FeedBurner 烧制 Twitter feed2010年03月19日 -
Wordpress 非插件调用最新新浪围脖2010年02月16日
又来看这个文章了,哈哈~
你现在怎么上 twitter啊?
echofon、api、web、手机,多种方法都会用到
wange的意思是 插上去就影响心情,还是不插了
哈哈,所以我一般很少插
哎……
没有时间鼓捣了 ……
遗憾,,,,
PHP在输出的时候没有把"";"转换成引号(“)
晕!前面打成英文的;还自动转成了绰号
我看过上次那个代码了,有个小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);
?>
为什么不用 yahoo pipes 呢: http://pipes.yahoo.com/myrpsh/twitterfilter?_render=rss&reply=no&rt=yes&tid=wange1228
把id 改成你的 twitter id 就能用了啊
恩,任兄已经传授过我了,非常之好用,只是我还在学习阶段,想尝试更多的方法,昨天还申请了GAE搭了个玩,嘿嘿
用这个地址怎么输出单条tweet呢?
有插件干嘛不用呢?所谓的有插件和无插件实现某个功能的原理都是一样的,对效率的影响很微,除非某个插件的逻辑写得很烂
不插的习惯很好,
我的宗旨就是,能不用插件的就绝对不用插件
om那个方法看起来简单些嘛
我有推~!只是很少推!
只要和WP沾边我就喜欢,已经整合到WP首页了
這個還不是調用所有好友信息的方法吧?
可以在 tidyTweet 设置的
似乎还有个办法。。。用自定义的api~!不过感觉麻烦~!
我还在着手折腾呢
我的是国外主机 哈哈
这个方法国内外主机都可以用的
这太累人了,我是觉得博客上要同步或者调用微博信息的话,还是选择国内的平台好了。
但话说回来,从博客到推,不容易。从推到博客,却是很方便。
对了老万,你还在网吧里上嘛?我启用阿三米了,你有空帮我改下链接地址吧。
OK,已经更新鸟
又上网吧啦?
我是住在网吧的。。。
终于进来了
汗~大过年万戈同志还这么高的文章产量和折腾劲!祝你虎年更生猛!
我这不是闲着没事嘛
还是单身好
是啊,今年情人节就不用愁是在家过还是和GF一起过了,呵呵
嘻嘻,最近咱们都在炒TWITTER,希望有好的效果 ~
事实证明越是开放的东西,做的起是好~
唉!我也来推了,推推更健康。百事皆可乐。
我把精力都集中在推推和WP的结合上,这两天都没怎么推,唉
看来俺是用不上了
一个博客就已经让松松火热了,如果你再常推,更是不得了啦,哈哈
你们都欺负我 我叫御姐把你们推倒
春哥是站在我这边的~~对还有曾哥
原来你是这么弄得啊~真没少费心~~~
还好我是外国主机,直接就读官方的feed,哈哈~~得意死了
没办法,只能绕个圈子获得feed
我是不是有条回复被spam了?还是说没发完我就 F5了
看了下,spam中没有你的留言~
那我给 章鱼从发`
差一点 郁闷
我叫春哥过来 哼
你叫曾哥也没用
曾哥 春哥都是站在我们这边 的
这条有发过,在楼上呢
那我只有叫谷歌了
谷姐才够分量
哈哈 沙发 啊 ~
当时我正好在站上,哈哈 就抢到了!