WordPress发博客后自动同步到新浪微博

无主题博客 » 网站建设 » Wordpress » WordPress发博客后自动同步到新浪微博

博主创建博客初期一直在用多说社会化评论插件,第一是因为多说跨博客回复提醒功能,第二是自带了同步文章到社交平台;也就是本文中将要实现的功能。先来两张图片

20141205152510

20141205152452

不难看出两张图的区别:除了内容不同外,还有来自XXX ,即红框标注位置;图2为以前使用多说插件同步的效果,图1为实现本博客中功能后的效果。

目的(作用)

第一:为自己的博客网站引流量

第二:提升逼格,凸显自己博客高大上的气质;就是因为这一点,所以我们要自己实现功能,不用插件的原因。

思路

  • 实现此功能,在新浪微博开发者中心申请权限,也就创建网站接入应用
  • 修改wordpress后代代码,在发表文章时与新浪微博应用链接

申请权限并创建应用

申请开发者权限

使用你的新浪微博账号登陆微博开放平台,网址:http://open.weibo.com/

点击页面导航中[编辑开发者信息]或访问:http://open.weibo.com/developers/basicinfo ,根据页面表单内容填写信息,提交后等待新浪方审核。(下图是基本流程)

20141205154738

新浪审核一般需要1个工作左右。审核通过后就可以创建应用了

创建应用

点击 [我的应用]->创建应用 或 访问:http://open.weibo.com/apps/new?sort=app 创建应用,根据表单内容一步一步填写就好了,注意:第一步的应用名就是图1和图2中的来源名称。

补全应用信息之后,提交审核。这里的审核时间会长一些,具体多长时间忘了。

这段时间你就可以使用新浪的开放端口进行开发了,只是在审核通过之前,来源位置显示的是未审核应用字样,但不影响开发和使用;新浪微博有很多很多接口供开发者调用,有兴趣的朋友可以仔细研究研究,不过本文中主要介绍 “2/statuses/update”接口(开发文档:http://open.weibo.com/wiki/2/statuses/update)。

编写代码

根据开发文档(http://open.weibo.com/wiki/2/statuses/update) 中的介绍,我们可以得知:

接口URL:https://api.weibo.com/2/statuses/repost.json
数据格式:JSON
请求方式:POST
请求参数:status(微博内容)、source(AppKey,从开发者中心我的应用中获得;图3)
是否需要登陆:是

20141205163057

根据以上信息,我们编写的代码如下:

**
 * WordPress 同步文章到新浪微博 By 无主题博客
 * 原文地址: https://wuzhuti.cn/1771.html
 */
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') {
    $appkey='3838258703';
    $username='微博用户名';
    $userpassword='微博密码';
    $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:$userpassword"));
    $result = $request->post($api_url, array('body' => $body,'headers' => $headers));
  }
}
add_action('publish_post', 'post_to_sina_weibo', 0);//给发布文章增加一个分享微博的动作

小伙伴们,提升逼格,凸显网站的高大上气质,赶快动手吧。


最新更新 2015-01-29

有的小伙伴儿说微博引流很难。今天就来看个具体的例子吧。

看到新发表的一篇文章有陌生人评论,很好奇,陌生人的来路是什么?带着我的好奇心去看了一下站长统计,奶奶的,吓我一跳,来路是百度。不会吧,刚写2个小时百度就收录了吗?

20150129122535

20150129123021

20150129123113

这就是来路,这就是同步到新浪微博的结果。


最新更新 2015-01-31

有几位小伙伴都出现无法发送微博的情况,同时又不知道如何测试问题到底出现在哪;起是测试方法有很多,比如打印log日志,开启wp调试等等;下面我向大家介绍一种我比较常用的的是方法,这不是唯一的测试方法,也不一定适用于你,而是我觉得比较适合本文介绍的代码调试的方法,仅供参考不供研究。

在网站根目录新建一个php文件,比如weibo.php,因为此代码需要调用wordpress的一些函数,所以在第一行我们需要引入wordpress的主要文件:

require( dirname( FILE ) . '/wp-blog-header.php' );
当引入这个文件之后,我们可以在weibo.php中随意调用wordpress中的函数了。

再将本文中的函数内容复制到weibo.php中,随便写一个有效的post_id,去掉首行的修订版本判断代码,在函数最后输出微博接口返回值,根据返回值内容寻找问题。

《WordPress发博客后自动同步到新浪微博》有一个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注