【转】WordPress发布文章自动同步到新浪微博详细方法
《WordPress发布文章自动同步到新浪微博详细方法》是在wordpress贴吧看到吧友网站上分享的,感觉很实用,于是就直接转到自己的博客了。
具体方法如下:
第一步:申请开发者权限
使用你的新浪微博账号登陆微博开放平台,网址:http://open.weibo.com/
点击页面导航中[编辑开发者信息]或访问:http://open.weibo.com/developers/basicinfo ,根据页面表单内容填写信息,提交后等待新浪方审核。新浪的审核时间并不长,会在一个工作日的时间内处理审核。开发者审核很好过,过了就可以开发应用了。
第二步:网站接入
在微博开放平台的首页点击橙色的[立即创建微连接接]->[网站接入] 或 访问http://open.weibo.com/webmaster/add
根据表单内容一步一步填写就好了,注意:第一步的应用名就是图1中的来源名称。
补全应用信息之后,提交审核,也会在一个工作日内完成审核。提交审核之后,你就可以使用新浪的开放端口进行同步博客文章了,只是在审核通过之前,来源位置显示的是未审核应用字样,但不影响开发和使用。
第三步:wordpress 代码
提交审核之后,我们会得到一串“App Key”码,这个很重要。记住在哪里能找到:点击[我的应用]->你正在审核的应用名称。点进去就可以看到
然后在WordPress主题functions.php最后一个?>前添加由张戈博客提供同步代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
function post_to_sina_weibo( $post_ID ) { /* 鉴于很多朋友反馈发布文章空白,临时加上调试代码,若无问题可删除此行,若有问题请将错误信息在本文留言即可 */ ini_set ( 'display_errors' , true); /* 此处修改为通过文章自定义栏目来判断是否同步 */ if (get_post_meta( $post_ID , 'weibo_sync' ,true) == 1) 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 = '1034947262' ; /* 此处是你的新浪微博appkey,不修改的话就会显示来自张戈博客哦! */ $username = '微博用户名' ; $userpassword = '微博密码' ; $request = new WP_Http; /* 获取文章标签关键词 */ $keywords = "" ; $tags = wp_get_post_tags( $post_ID ); foreach ( $tags as $tag ) { $keywords = $keywords . '#' . $tag ->name. "#" ; } /* 修改了下风格,并添加文章关键词作为微博话题,提高与其他相关微博的关联率 */ $string1 = '【文章发布】' . strip_tags ( $get_post_title ). ':' ; $string2 = $keywords . ' 查看全文:' .get_permalink( $post_ID ); /* 微博字数控制,避免超标同步失败 */ $wb_num = (138 - WeiboLength( $string1 . $string2 ))*2; $status = $string1 .mb_strimwidth( strip_tags ( apply_filters( 'the_content' , $get_post_centent )),0, $wb_num , '...' ). $string2 ; $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 )); /* 若同步成功,则给新增自定义栏目weibo_sync,避免以后更新文章重复同步 */ add_post_meta( $post_ID , 'weibo_sync' , 1, true); } } add_action( 'publish_post' , 'post_to_sina_weibo' , 0); /* //获取微博字符长度函数 */ function WeiboLength( $str ) { $arr = arr_split_zh( $str ); //先将字符串分割到数组中 foreach ( $arr as $v ){ $temp = ord( $v ); //转换为ASCII码 if ( $temp > 0 && $temp < 127) { $len = $len +0.5; } else { $len ++; } } return ceil ( $len ); //加一取整 } /* //拆分字符串函数,只支持 gb2312编码 //参考:http://u-czh.iteye.com/blog/1565858 */ function arr_split_zh( $tempaddtext ){ $tempaddtext = iconv( "UTF-8" , "GBK//IGNORE" , $tempaddtext ); $cind = 0; $arr_cont = array (); for ( $i =0; $i < strlen ( $tempaddtext ); $i ++) { if ( strlen ( substr ( $tempaddtext , $cind ,1)) > 0){ if (ord( substr ( $tempaddtext , $cind ,1)) < 0xA1 ){ //如果为英文则取1个字节 array_push ( $arr_cont , substr ( $tempaddtext , $cind ,1)); $cind ++; } else { array_push ( $arr_cont , substr ( $tempaddtext , $cind ,2)); $cind +=2; } } } foreach ( $arr_cont as & $row ) { $row =iconv( "gb2312" , "UTF-8" , $row ); } return $arr_cont ; } |
- 下一篇: 360搜索联盟怎么样?
- 上一篇: 我不是较劲, 我只是充满斗志!
相关推荐
- WordPress文章部分内容输入密码后可见
- Posted on 10月05日
- 四海鲸骑——第一章《奔逃》
- Posted on 08月04日
- 《见与不见》
- Posted on 01月27日
- 如何高效的找到友情链接
- Posted on 10月22日
是个实用的技术!
话说 能交换链接么。
苏州人家
http://www.suzhouren.com
现在通过微博和微信引流是王道了
不是有个分享微博可插件吗
可以使用一下
九块邮官网 http://www.jiukuaiyou.club/
不好意思,打错了。。是 http://www.suzhouren.net 哈哈哈。。
正好遇到此文,自己也有这个意图,弄个新浪微博自动同步试试
博主辛苦了,鼓励一下
看的人少,回一下
谢啦
抿上一口咖啡,虽有点苦,但尔后的甘甜会让你忘记苦涩。精彩人生总在风雨之后,当你感到人生的艰辛时,喝杯咖啡吧,你会从中悟出人生的简明道理。
谢谢博主转载文章还添加了出处