该功能已经整合到新浪连接插件中,请直接下载新浪连接插件来使用同步 WordPress 博客日志到新浪微博功能。
前面我介绍新浪微博开放 API,以及使用新浪 API 的 OAuth 协议创建新浪连接插件,可以使用新浪微博的帐号登录 WordPress 博客,今天介绍下如何同步 WordPress 博客日志到新浪微博,同步日志到新浪微博非常简单,我前面介绍了同步到嘀咕,雷猴等微博客,同步到新浪微博的方法基本也一致,分为两步:
首先我们创建更新状态到新浪微博的函数,这里我用到了 WordPress 自带的 WP_Http 类(关于 WP_HTTP 的介绍你可以查看这篇文章:如何在WordPress 发起HTTP Requests):
function update_sina_t($status){ $username = "你的新浪微博的帐号"; $password = "你的新浪微博的密码"; $api_url = 'http://api.t.sina.com.cn/statuses/update.json'; $body = array( 'status' => $status,'source'=>'3279848611'); $headers = array( 'Authorization' => 'Basic '.base64_encode("$username:$password") ); $request = new WP_Http; $result = $request->request( $api_url , array( 'method' => 'POST', 'body' => $body, 'headers' => $headers ) ); }
上面代码中,需要在相应的位置输入你的新浪微博帐号和密码。
然后 WordPress 日志发布之后的 hook 是 publish_post,我们可以在这个 action 执行的时候执行上面的函数,从而同步 WordPress 博客日志到新浪微博但是任何一次在 WordPress 后台点击更新日志都会触发这个 action,所以我们要用自定义字段记录是否已经把日志同步到了新浪微博:
add_action('publish_post', 'publish_post_2_sina_t', 0); function publish_post_2_sina_t($post_ID){ $sina_t = get_post_meta($post_ID, 'sina_t', true); if($sina_t) return; $status = $_POST['post_title'].' '.get_permalink($post_ID); update_sina_t($status); add_post_meta($post_ID, 'sina_t', 'true', true); }
把上面两段代码复制到主题的 functions.php 文件即可。当然你也可以直接下载这个文件(wp-sina-t.zip)上传到插件目录,然后激活。
PS:我的新浪微博是:denishua,欢迎大家围观!


我使用的是嘀咕插件同步
支持 反对2
在新浪微博的“工具”里绑定博客就可以同步了
支持3 反对1
错了,这是很久之前的事了,汗
支持 反对1
不好意思,我没有你的联系方式,你博客也不给专门留言的地方,所以每次我有问题问你都是随便找片文章留言,导致文不对题,抱歉。
我要问的问题:我发现Google收录了我的一些不该搜录的东西,比如wp-content/plugins/auto-highslide/,这里面没有用户想要的东西,我是不是要写一个Robots.txt,你写了吗?
支持 反对1
你看下 http://fairyfish.net/robots.txt
支持1 反对1
编辑旧日志,也会发布到新浪微博……能把发布新日志和编辑旧日志做个区分么?
支持 反对
不能,WordPress 没有提供这样的判断接口!
支持 反对
水煮鱼的东西不错,可惜有些插件我的服务器不支持,比如你最新的新浪微博插件,郁闷的很哪
支持 反对
安装啦这个插件,但是没有与新浪,豆瓣同步登陆的那个按钮,是怎么弄的,求教!!!
支持 反对
http://fairyfish.net/project/sina-connect/
安装这个插件!
支持 反对
如果这个能设定更新时间就好了。比如wp上发布过1个小时后再更新到新浪。
支持 反对
似乎不能同步标题,只同步了一个链接过去
支持 反对
为什么发布文章后,会出现错误提示,但是文章已经发表了?
支持 反对
不错的小东西。做推广很有用
支持 反对
支持 反对
你好,正在使用你的插件,非常不错,有个想法,不知如何弄,不懂PHP,希望能帮助一下。
我想的功能是希望当摘要内容不为空时,默认发布摘要的内容,否则才发布标题内容,具体判断代码怎么修改。?
支持 反对
感谢我爱水煮鱼的这篇博文:http://fairyfish.net/2010/06/17/wp-sina-t/
我在使用中遇到了问题:同步WordPress博客日志到新浪微博时遇到的中文URL。
中文问题:
发现sinaurl转换含有中文的URL时出现错误的截断,现象重现:
源URL:http://cleverpig.name/dan/2010/11/11/转载:同步-wordpress-博客日志到新浪微博/
经过sinaurl处理后的:http://sinaurl.cn/h6xtew转载:同步-wordpress
很明显,目前的sinaurl并不支持URL中含有中文。
解决方法:
先将URL用支持中文URL的tinyurl包裹一下,然后就不怕了。
具体方法:先将http://sinaurl.cn/h6×6XW 中的代码添加到functions.php里,然后修改wp-sina-t插件,套一层tinyurl。
详见,欢迎评论:http://tinyurl.com/2bpebb3
支持 反对
嗯,其实 WordPress 默认也有 short url
支持 反对
受教了!
支持 反对
您太强悍了
支持 反对
来自新浪微博
支持 反对
40302:Error: auth faild!(#403)
是怎么回事呢?
支持 反对
博主,我用插件方式的,但是好久都不同步到新浪微博,是不是会有延迟? 我等了快半个小时了,新浪微博还没有。。所以。。来问问!
支持 反对
不会,应该是立刻的!
支持 反对