//发布文章同步到微博
function post_to_sina_weibo($post_ID) {
if (wp_is_post_revision($post_ID)) return;
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
$get_post_title = get_post($post_ID)->post_title;
if ($get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish') {
$username = "微博登录账号";
$password = "微博登录密码";
$appkey = "你的微博密钥";
$request = new WP_Http;
$status = '我刚刚发布了文章《'.strip_tags($get_post_title).'》。内容摘要:'.mb_strimwidth(strip_tags(apply_filters('the_content', $get_post_centent)),0,132,'……').'查看全文:'.get_permalink($post_ID);
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array('status' => $status,'source' => $appkey);
$headers = array('Authorization' => 'Basic ' . base64_encode("$username:$password"));
$result = $request->post($api_url, array('body' => $body,'headers' => $headers));
}}
add_action('publish_post', 'post_to_sina_weibo', 0);
将以上代码放置在主题函数文件中即可。博客实现了关联更新
2887 views
2016-06-23 12:21:43
之前有看到一些其他博主的文章能够同步发布在多个平台,就疑惑难道他们都是发文章的时候复制粘贴一份发过去的吗?于是网上搜索,发现其实有很多办法可以实现在一个平台更新而同步到其他平台的,但是我在实际操作中发现了很多问题,在查询相关解决办法的时候得知一个叫做微博通的第三方服务,可是现在连他们的官网都打不开了,于是又找别的方法,目前通过插件和代码的办法分别实现了发布文章同步到新浪博客和新浪微博,其中同布到博客只需要安装插件然后设置好账号和密码就可以了,同布到微博需要在微博开放平台申请创建应用,然后获得一个密钥,再通过修改主题函数来实现。
目前本站已经与其他几个网站实现了关联更新,发布文章的时候会同步文章的完整内容到本人运营的其他几个网站的特定分类里,也会发布一条包含了文章标题、摘要和链接的微博出去。
这个功能实现起来不是特别麻烦,但是描述起来还是有很多细节需要注意的,欢迎大家一起交流。
关于同步发布的价值,我个人理解的是能够多一些渠道散布文章,日积月累从而能够给博客本身带来流量,后续影响持续观察中。
附:同步到微博的代码