WordPress文章同步到新浪微博的几种方法

Ludou
文章目录

     相信现在有很多网友都使用了微博,微博可是相当的火啊!使用WordPress的博主中,使用微博的人数可能会更多,因为在博客圈中存在一种观点:微博是一个很好的推广平台。新浪微博算是一个比较火的,可能你早就听说过如何将WordPress文章同步发布到新浪微博,但是我这里还要罗嗦一下,可能跟你以前看到的不太一样。插件的方法我就不介绍了,需要的上网搜。

新浪微博

方法一:关联博客

     方法一其实很简单,直接使用新浪微博的关联博客功能就可以了,使用方法:点击新浪微博右上角的"工具"菜单,再在点击"关联博客",填上你的博客链接即可!这样,你的博客每次有文章更新,就会有同时发一条以下格式的微博到新浪微博:文章标题 + 文章URL

方法二:微博开放平台接口

     方法一只能以文章标题 + 文章URL的形式同步到新浪微博,不能自定义微博内容。而使用新浪微博的开放平台接口,可以大大提高自由度,不过需要编写一些代码,其实很简单,复制粘贴代码就可以了。用文本编辑器打开你当前使用的主题目录下的functions.php,将以下代码复制到第一个 <?php 下面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function post_to_sina_weibo($post_ID) {
    if( wp_is_post_revision($post_ID) ) return;
   
    // 将 abc 替换成你的新浪微博登陆名
    $username = "abc";
    // 将 123 替换成你的新浪微博密码
    $password = "123";
   
    $get_post_info = get_post($post_ID);
   
    if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
        $request = new WP_Http;
        $status = strip_tags( $_POST['post_title'] ) . ' ' . urlencode( get_permalink($post_ID) );
        $api_url = 'http://api.t.sina.com.cn/statuses/update.json';
        $body = array( 'status' => $status, 'source'=>'1134914270');
        $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);

     以上代码15行的1134914270是新浪开放平台的appkey,如果你有appkey的话可以改成你的自己的。好了,以后每当你的WordPress博客有文章更新,就会有同时发一条以下格式的微博到新浪微博:文章标题 + 文章URL。可能你不喜欢文章标题 + 文章URL这种形式,现在我教你怎么自定义发布到新浪微博的格式。以下介绍几种常见的微博格式:

文章摘要 + 文章URL

     WordPress文章编辑页都有个"摘要"输入框,这里可以输入你的文章摘要。如果你想以文章摘要 + 文章URL的形式发布到新浪微博,可以将以上代码中13行改成:

1
$status = strip_tags( $_POST['excerpt'] ) . ' ' . urlencode( get_permalink($post_ID) );

     如果你只想发布摘要,可以改成:

1
$status = strip_tags( $_POST['excerpt'] );

     这样就相当于直接在你WordPress博客上发布新浪微博了!

只输出文章URL

     如果你只想发布一条文章链接到新浪微博,那就将以上代码13行改成:

1
$status = urlencode( get_permalink($post_ID) );

不过这种方式貌似没什么意义!

显示你的地理位置:

     新浪微博还有一个很有趣的功能,那就是可以根据你的IP来显示你的具体地理位置,可以在地图上标示你的位置(当然,这个位置不可能具体到你家门口)。

新浪微博显示你的具体位置

     如果你希望同步到新浪微博的文章添加这个功能,可以将以上代码中的15行改成:

1
2
3
$location = $request->get( 'http://api.map.sina.com.cn/i/ip2xy.php?ip='.getenv("REMOTE_ADDR").'&source=1134914270' );
$xy = explode( ',', simplexml_load_string($location['body'])->item->coordinate );
$body = array( 'status' => $status, 'source' =>'1134914270', 'lat' => $xy[1], 'long' => $xy[0] );

     当然,如果你不希望别人窥探你的位置,就别用这个功能!

本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress文章同步到新浪微博的几种方法
本文地址:http://www.ludou.org/wordpress-post-to-sina-weibo.html

露兜博客博主,男生,业余Web程序员,儒家思想受益者。文采不佳,不喜欢聚光灯,不喜欢吹牛,不喜欢无序的做事方式。闲时喜欢写些代码自娱自乐,并在博客中分享一些个人技术经验。

标签:

48 条评论

我来说两句
1 2 178
  1. ADD~“

    话说..我在挺长时间之前就把关联博客设置了..但是从来不好使- -不知何故啊..求解.

  2. 爱主题

    正需要啊,谢了!

  3. seri

    不好意思,偶用了博主的方法,但是只输出了博客地址 – -,不知道为啥! 偶想标题也出来!!!求助!

  4. 新鲜网

    非常感谢楼主无私的分享啊!!

  5. TC

    这个功能不错。

  6. brian

    要的就是这个,谢谢啦!

  7. 雨欢

    老师 我用的你办法了 但和上面的以为兄弟一样只有地址 没有标题或者摘要 代码没搞错 试了好几遍都一样啊

1 2

发表评论

订阅评论