自动同步文章到腾讯、新浪等微博平台(支持Windows Live Writer)

将文章自动同步到微博平台,一直都是不少站长朋友期待的。

虽然腾讯微博可以绑定博客,但是只能同步标题和链接,没办法同步摘要和图片;新浪微博连绑定都不支持。虽然借助一些WordPress链接微博等插件,或者多说等第三方评论插件,支持WordPress后台发布文章时,同步到微博,但是如果使用 Windows Live Writer 等离线工具发布文章,居然没办法同步。

所以,倡萌很苦恼很愤怒……但是,今天开始,倡萌不再苦恼,不再愤怒,因为我已经找到解决方法了,一起分享吧。

wpdaxue.com-201302337

你只需借助第三方微博同步服务——微博通——绑定多个微博,同时安装 小蝴蝶 制作的 微博通for wordpress插件 即可实现。

该方法的优点

支持同步20多种不同微博,只需在微博通中绑定即可(有些微博支持自定义Key)

支持同步文章 标题、摘要和图片(自动获取第一张图片,支持本地图片和外链图片)

定时发布的文章,在正式发布后才同步

支持同步 Windows Live Writer 等离线工具发布的文章

每篇文章只在第一次发布时同步,文章的再次修改不再同步

及时同步,几乎没有延迟

微博通简介

微博通(www.wbto.cn)是一个全新的社交信息聚合及分享平台。可以同时绑定多个微博及SNS网站,一次发布同时推送。 消息同步,转发,评论,收藏,私信,查看评论、查看私信等。

微博通for wordpress插件

这个插件是 小蝴蝶 对wordpress微博通同步插件的修改和完善, 实现效果: ①同步格式为标题+截取内容+链接②支持同步图片(外链/特色图像/本地上传)③新文章发布才会同步,更新文章则不同步。

同步文章到腾讯、新浪等微博平台

1.访问 微博通(www.wbto.cn) ,注册一个账号,绑定你的微博账号

2.下载安装 微博通for wordpress插件 ,启用后,在 设置>微博通同步 填入你的微博通账号信息,保存。

3.没有多余设置啦!直接发布文章试试吧!

附:微博通for wordpress插件 的源码

<?php
/*
Plugin Name: 微博通同步发布
Plugin URI: http://xiaohudie.net (参考: 原插件下载地址: http://www.wbto.cn/bbs/viewthread.php?tid=382)
Description: 自动把你的博客<a href="https://www.wpdaxue.com/tag/%e6%96%87%e7%ab%a0%e5%90%8c%e6%ad%a5" title="查看与【文章同步】相关的文章" target="_blank" rel="noopener">文章同步</a>到微博通,微博通将同步至你所绑定的各个平台。
Version: 1.0
Author: 小蝴蝶(原作者yige)
Author URI: http://xiaohudie.net &amp; http://t.qq.com/abcwuwuwu
*/
function wbto_install() {
global $wpdb;
$table_name = $wpdb-&gt;prefix.&quot;wbto&quot;;
if($wpdb-&gt;get_var(&quot;show tables like '$table_name'&quot;) != $table_name) {
$sql = &quot;CREATE TABLE &quot; . $table_name . &quot; (id mediumint(9) NOT NULL AUTO_INCREMENT, wbto_username VARCHAR(100) NOT NULL, wbto_password VARCHAR(100) NOT NULL, );&quot;;
}
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
function send_to_wbto($post_ID) {
$posted = get_post($post_ID);
preg_match_all('/&lt;img[^&gt;]+src=[\'&quot;](http[^\'&quot;]+)[\'&quot;].*&gt;/isU',$posted-&gt;post_content, $image);//匹配图像格式
$p_sum = count($image[1]);
if ($p_sum &gt; 0) {
$p = $image[1][0];
}
if (!$p) {
if (function_exists('has_post_thumbnail') &amp;&amp; has_post_thumbnail($post_ID)) { //  如果支持特色图像(WordPress v2.9以上)并且存在特色图像,则抓特色图像
if ($image_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-&gt;ID), 'post-thumbnail'))
$p = $image_url[0];
}
}
$t1=$posted-&gt;post_date;
$t2=$posted-&gt;post_modified;
$diff=strtotime($t2)-strtotime($t1);
if($diff&gt;0){return;} //重要修改:加上了发布时间判断,如果文章更新,将不会同步到微博
$username = get_option('wbto_username');
$password = get_option('wbto_password');
$posted = get_post($post_ID);
$image_url = $p;//重要修改:抓图像,支持外链图片和本地上传的图片,如果有特色图像则抓特色图像
$excerpt=mb_strimwidth(strip_tags($posted-&gt;post_content),0,130,'...'); //截130字的内容,因为总共140字还要留一点在最后放链接
$fields = array();
$fields['source'] = 'wordpress';
$fields['content'] = urlencode('['.$posted-&gt;post_title.']'.mb_strimwidth(strip_tags($excerpt),0,130,'...').' '.$posted-&gt;guid); //微博格式,效果如图,即:[标题]摘要内容+链接
$ch = curl_init();
if ($image_url) { 
$fields['imgurl'] =$image_url;
curl_setopt($ch, CURLOPT_URL, &quot;http://wbto.cn/api/upload.json&quot;);  
} else {
curl_setopt($ch, CURLOPT_URL, &quot;http://wbto.cn/api/update.json&quot;);  
}
curl_setopt($ch, CURLOPT_USERPWD, &quot;$username:$password&quot;);
curl_setopt($ch, CURLOPT_FAILONERROR, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$result = curl_exec($ch);
curl_close($ch);
}
function wbto_menu() {
add_options_page('微博通同步设置', '微博通同步', 8, __FILE__, 'wbto_options');
} 
function wbto_options() { 
echo '&lt;div class=&quot;wrap&quot;&gt;';
echo '&lt;h2&gt;微博通同步&lt;/h2&gt;';
echo '&lt;form method=&quot;post&quot; action=&quot;options.php&quot;&gt;';
echo wp_nonce_field('update-options');
echo '&lt;table class=&quot;form-table&quot;&gt;';
echo '&lt;tr valign=&quot;top&quot;&gt;';
echo '&lt;th scope=&quot;row&quot;&gt;用户名 &lt;a href=&quot;http://www.wbto.cn/?app=wp&quot;&gt;注册&lt;/a&gt;&lt;/th&gt;';
echo '&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;wbto_username&quot; value=&quot;'.get_option('wbto_username').'&quot; /&gt;&lt;/td&gt;';
echo '&lt;/tr&gt;';
echo '&lt;tr valign=&quot;top&quot;&gt;';
echo '&lt;th scope=&quot;row&quot;&gt;密码&lt;/th&gt;';
echo '&lt;td&gt;&lt;input type=&quot;password&quot; name=&quot;wbto_password&quot; value=&quot;'.get_option('wbto_password').'&quot; /&gt;&lt;/td&gt;';
echo '&lt;/tr&gt;';
echo '&lt;/table&gt;';
echo '&lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;update&quot; /&gt;';
echo '&lt;input type=&quot;hidden&quot; name=&quot;page_options&quot; value=&quot;wbto_username,wbto_password&quot; /&gt;';
echo '&lt;p class=&quot;submit&quot;&gt;';
echo '&lt;input type=&quot;submit&quot; name=&quot;submit&quot; id=&quot;submit&quot; class=&quot;button-primary&quot; value=&quot;保存更改&quot; /&gt;';
echo '&lt;/p&gt;';
echo '&lt;/form&gt;';
echo '&lt;/div&gt;';
 
}
add_action('admin_menu', 'wbto_menu'); 
add_action('publish_post', 'send_to_wbto'); 
?&gt;

参考资料:http://xiaohudie.net/code/wbto-plugin.html

来源:

https://www.wpdaxue.com/synchronous-article-to-microblog.html

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_33284.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?