完美同步wordpress博客文章和评论到所有微博

本方法能友好完美同步WORDPRESS博客所有文章和评论到其它任意多个微博(嘀咕digu 9911 做啥zuosa 新浪微博sina 推特twitter follow5 豆瓣广播 鲜果联播 人间网 人人网 网易微博 QQ空间 Google Buzz 腾讯QQ微博)。

所谓友好完美是指同步基本为实时同步没有延迟,且同步过去后的微博格式友好
微博格式
1,文章类:#博客名+新文章# @作者名 发表了#文章标题# 文章固定链接(短网址)
2,评论类:@作者名 on #文章标题#:评论内容 评论固定链接
因为使用了#和@还加入了文章固定链接方便网友们互动,推广网站(因为大多数人基本上不同网站注册的昵称账号都是同一个,如果他有注册上面任意一个微博对你网站发表评论后以及评论得到回复在微博上都有@他的提示。#的使用能方便查阅同一文章的评论。(个人觉得这个同步程序主要是同步评论过去的,因为汉字评论一般不会超过140字,基本上能全同步到微博上去)

这是我同步到新浪微博的效果:

同步方法:

WORDPRESS博客 用Vikinghammer Tweet(VHtweet)插件同步文章及评论到twitter,再用TW2OTHER同步推特上的消息到其它微博(digu/sina/zuosa/follow5/9911/豆瓣广播/鲜果联播/人间网/人人网/网易微博),用邮件转发方法同步到QQ空间,用Google Buzz自带 连接的网站 可同步twitter到BUZZ。

或者用TW2OTHER同步twitter到follow5,再用follow5的5步大同同步到其它所有微博(Twitter Plurk 嘀咕/火兔 叽歪 做啥 开心 人人/校内 HelloTxt 新浪微博 同学网 9911 豆瓣 搜狐微博 网易微博 人民微博 鲜果联播 FriendFeed 凤凰微博 139说客)

特别注意
1,VHtweet插件要修改的地方:

插件默认微博格式是:New comment on 标题名 by 作者 链接 我们得把他改得更友好。即:
1,文章类:#博客名+新文章# @作者名 发表了#文章标题# 文章固定链接(短网址)
2,评论类:@作者名 on #文章标题#:评论内容 评论固定链接
3,字符长度统计 原插件是用 strlen 是按照字符计算的,一个汉字为4-6个字符,这样导致统计有误,换用函数mb_strlen
4,添加了文章摘要显示(前80字,当然你可以更改)

修改文章类微博格式 找到:

    // build the full tweet
    $tweet = "New post by {$user->user_login}: {$post->post_title} {$link}";

    // if the tweet is too long, take out the title
    if (strlen($tweet) > 140) {
        $tweet = "New post by {$user->user_login} {$link}";
    }

修改为:

    // build the full tweet
    $post_content = mb_substr(strip_tags(trim($_POST['post_content'])),0,80);
    $tweet = "Post{#{$post->post_title}#}{$post_content}{$link}";

    // if the tweet is too long, take out the title
    if (mb_strlen($tweet) > 140) {
        $tweet = "NewPost{#{$post->post_title}#}{$link}";
    }

修改评论类微博格式 找到:

        // build the full tweet
        $tweet = "New comment on {$post->post_title} by {$comment->comment_author} {$link}";

        // if the tweet was too long, take out the title
        if (strlen($tweet) > 140) {
            $tweet = "New comment by {$comment->comment_author} {$link}";
        }

        // if it is still too long, just put in the link
        if (strlen($tweet) > 140) {
            $tweet = "New comment {$link}";
        }

修改为:

        // build the full tweet
        $tweet = "{@{$comment->comment_author}}{#{$post->post_title}#}{$comment->comment_content}{$link}";

        // if the tweet was too long, take out the title
        if (mb_strlen($tweet) > 140) {
            $tweet = "{@{$comment->comment_author}}:{$comment->comment_content}{$link}";
        }

其中,{$post->post_title} {$comment->comment_author} {$link}这些字段你可以自己DIY在什么地方显示,但要加#@等一定要在字符外面加上{}如:
{@{$comment->comment_author}}on{#{$post->post_title}#}:{$comment->comment_content}{$link}

如果你觉得这样改动很麻烦可以直接下载我改好了插件VHtweet-chinese-friendly

2,TW2OTHER cron的配置

在网上都有教程的,这里想说下如果你的空间不支持CRON JOB得怎么办。因为CRON会给服务器带来很多的负担,许多免费空间是不支持的,即使支持也有时间限制的,一般任务间隔至少为5分钟,这样就不能实时玩延迟同步了。一个简单解决办法:把TW2OTHER/INDEX.PHP(执行同步TWITTER到其它微博)这个网页插入网页里,在小工具里添加个文本添加 代码如:

<iframe frameborder=0 width=0 height=0 name= "cron-twitter" src="http://little8.com/tw2other/index.php"> </iframe>

这样就能隐藏这个网页,不影响美观。但如果你的留言启用了AJAX,那么访客在评论后,网页没有刷新,评论是不能马上同步到TWITTER的。你可以关闭评论AJAX,或者你的网站访问量大,如5分钟在线人数至少1人,也不用关闭了,只要另外一个访客刷新了网站任意一个页面就执行了同步任务。

下面附上相关教程:
Tw2other将Twitter同步至其他微博的教程
Twitter同步到Google Buzz的教程
follow5的5步大同步教程
GAE twitter-feed 同步TWITTER到其它微博教程
wordpress同步指定文章的评论到新浪微博教程
通过WORDPRESS FEED功能同步日志和评论到TWITTER的教程
FeedBurner同步Feed到Twitter教程
twitterfeed同步Feed到Twitter

16 Comments

Add a Comment

Your email address will not be published.