同步更新WordPress日志到新浪微博
今天看到我爱水煮鱼日志提到同步更新Wordpress日志到新浪微博的方法,我觉得是个不错的方法,比起手懂添加日志分享,这种机器人的行为,的确可以省下很多功夫。
水煮鱼兄真乃WP的行家,看到其开发了很多WP新功能,作为行内的人,我很惭愧。
同步Wordpress日志到新浪微博,主要是利用到了新浪的第三方开放平台,利用其API开发同步函数。工具首先创建更新状态到新浪微博的函数,这里水煮鱼用到了 WordPress 自带的 WP_Http
类(关于WP_HTTP
的介绍可以查看这篇文章:如何在WordPress 发起HTTP Requests)
123456789 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,所以需要用自定义字段记录是否已经把日志同步到了新浪微博:
12345678 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