WordPress 新文章同步微博详解

提醒:本文最后更新于 3768 天前,文中所描述的信息可能已发生改变,请仔细核实。

其实这种文章应该挺多的,而且也不难。但确实不知发点啥了。。。但是不写点又不行。。。所以。。。

正常来说,只要按照本文的图片+文字,就可以搞定了。

月底暂时就这样了。超级忙啊。。。

9月就要到了,貌似中秋可能要加班,小烦。

言归正传。


首先,如图所示。在open.weibo.com/development,创建网站接入应用,审核通过率较快较高。

创建完,下一步,在open.weibo.com/webmaster,选择刚才创建的网站。可以看到状态是审核中。

不管,我们接着下一步,在左侧栏->网站信息,可以看到App Key和App Secret,复制下来,一会有用。

在左侧栏->网站信息->关联微博,关联一下我们自身的微博,就是创建了这个网站接入的微博帐号。

OK,下一步,我们在左侧栏->接口管理->授权机制,里面有个OAuth2.0 授权设置,编辑,为(取消)授权回调页填上:http://127.0.0.1/weibo/callback.php,详细如图所示:

接下来,下载附件weibo.rar。

内含windows NT5/6下可用的nginx+php和weibo授权文件。请务必解压后将目录放在C盘根目录下,目录下有说明文件,请仔细阅读,并且我做了bat文件,如下图所示。

先按1后按3,完成操作后,可得到如下信息:

再按2,结束掉nginx+php。

最后将下面这段代码放到functions.php,顺便改下里面的Access token的值就好了。

add_action('publish_post', 'new_post_weibo');
function new_post_weibo($post_ID) {
    global $wpdb;   
    if(!wp_is_post_revision($post_ID)){
        $access_token = "这里填入刚才获取到的Access token";
        $url = "https://api.weibo.com/2/statuses/update.json";
        $status = "我刚刚发布了新文章《".get_the_title($post_ID)."》,快来看看吧。详细内容请点击:".get_permalink($post_ID);
        $data = "access_token=" . $access_token . "&status=" . urlencode ($status);
        $output = json_decode(post_by_curl($url,$data));
    }
}
function post_by_curl($url, $data) {
 $ch = curl_init();
 @curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
 @curl_setopt ( $ch, CURLOPT_POST, TRUE );
 @curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
 @curl_setopt ( $ch, CURLOPT_URL, $url );
 @curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
 $body = @curl_exec ( $ch );
 @curl_close ( $ch );
 return $body;
}

以上基于@大发@牧风两位的文章所作(添加了nginx+php、新版weibo开发平台的图)。感谢二位!

本来函数带有自动附带文章图片,但貌似用的人不多,而且有些是国内机机,带宽不大,而且流量又有限制。所以就没有完整分享。

因微博登录,恐怕没多少人使用,加上我也不愿意使后台用户过多,所以博客就没有创建。

微博登录可以不用利用token,因为非创建者的token,只有7天有效期,需要维护。而创建者自身token是5年有效期。

站内应用(SAE)也可以通过类似方式创建。

文章到此结束~EOF。

转载请注明转自:kn007的个人博客的《WordPress 新文章同步微博详解