生命是一种长期,而持续积累的过程
« »
发布于 681 天 以前

同步更新WordPress日志到新浪微博

今天看到我爱水煮鱼日志提到同步更新Wordpress日志到新浪微博的方法,我觉得是个不错的方法,比起手懂添加日志分享,这种机器人的行为,的确可以省下很多功夫。

水煮鱼兄真乃WP的行家,看到其开发了很多WP新功能,作为行内的人,我很惭愧。

同步Wordpress日志到新浪微博,主要是利用到了新浪的第三方开放平台,利用其API开发同步函数。工具首先创建更新状态到新浪微博的函数,这里水煮鱼用到了 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);
}

把上面两段代码复制进当前主题的Function.php中即可,或者你也可以下载这个插件,上传到插件目录,然后激活插件即可。

如果对水煮鱼有兴趣,可以关注 @denishua

 » 订阅本站:http://feed.imxpan.com

你可以能会对下面的文章产生兴趣


日志信息 »

该日志于2010-07-08 16:16由 饭小烦 发表在谷哥谷姐分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

8条评论

  1. 博客搞得不错,欢迎也到我那看看,提提建议。

  2. OceanBan 说:

    不要这么麻烦吧,新浪微博工具里面有关联博客的,新浪会自动同步,不用任何操作.
    我的微博:http://t.sina.com.cn/k8866/

    饭小烦 回复:

    @OceanBan, 能自动同步新浪博客,但对于其他BSP的博客,或者独立博客而言,却不行

    OceanBan 回复:

    @饭小烦, 怎么会不行呢,我一直在用的,你看我的微博好多都是同步到微博的,算是独立博客吧,Blogger.

    饭小烦 回复:

    @OceanBan, 对哦,可能是吧,不过微博那边我设置的关联博客是新浪的,这样也好,可以关联两个博客

  3. 这样的话会不会造成微博优先收录呢?那我的wordpress不是原创无效了?

    饭小烦 回复:

    @最好的股票软件, 只是把你的WP文章链接同步到微博,和原创没有关系

  4. 猫哥 说:

    先坐沙发,我现在很少用微博了。

你必须登陆之后才能留言.你可以使用以下方式快速登陆*昕光游乐场*»

使用新浪微博登陆

发表评论 »