1. <div id="11111"></div>

    1. <div id="11111"></div>

      1. <div id="11111"></div>

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

        日期: 标签:WordPress教程 133 条留言
        如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我
        文章目录

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

        新浪微博

        方法一:关联博客

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

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

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

        // 2015年3月5日更新
        function post_to_sina_weibo( $post_ID ) {
        	if( wp_is_post_revision( $post_ID ) ) return;
            
        	// 将 abc 替换成你的新浪微博登陆名
        	$username = "abc";
        	// 将 123 替换成你的新浪微博密码
        	$password = "123";
        	// 将 733750190 替换成你的微博开放平台的App Key
        	$appkey = "733750190";
            
        	if ( get_post_status( $post_ID ) == 'publish' && $_POST['original_post_status'] != 'publish' ) {
        		$request = new WP_Http;
        		$status = strip_tags( $_POST['post_title'] ) . 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:$password") );
        		$result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) );
        	}
        }
        
        add_action('publish_post', 'post_to_sina_weibo', 0);

        好了,以后每当你的WordPress博客有文章更新,就会有同时发一条以下格式的微博到新浪微博:文章标题 + 文章URL??赡苣悴幌不段恼卤晏?+ 文章URL这种形式,现在我教你怎么自定义发布到新浪微博的格式。以下介绍几种常见的微博格式:

        文章摘要 + 文章URL

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

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

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

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

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

        只输出文章URL

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

        $status = get_permalink( $post_ID );

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

        显示你的地理位置:

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

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

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

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

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

        -- 完 --

        本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
        原文出处:露兜博客 http://www.szeverich.net.cn/wordpress-post-to-sina-weibo.html
        露兜
        kaapass@outlook.com  QQ 825533758

        业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe

        133 条留言

        点此留言
        1 2 3 4 178
        1. AR领域

          可以自动更新了,可是更新过去到博客只有连接,没有内容。而且显示的也是 来自 未通过审核应用 请问这个怎么解决?

          • 露兜

            @AR领域 自行申请appkey

            • AR领域

              @露兜 已经可以了,就是同步过去的只有连接。标题,摘要都没有。你上面的代码我都试过了,都只有连接!有没有办法解决呢?

              • 露兜

                @AR领域 $_POST['post_title']
                改成
                get_post($post_ID)->post_title

                $_POST['excerpt']
                改成
                get_post($post_ID)->post_excerpt

        2. 自来也

          您好,参照代码,已经添加好了,并且把IP添加到微博的高级信息中了,但是还是不能把文章同步到微博中。用张戈的方法检查出,提示IP地址不在白名单中,不知道是什么原因。

        3. 禅猫

          请问有没有可以同步到脸书,或者推特的方法呢

        1 2 3 4

        发表留言

        可以挣钱的游戏 177| 625| 756| 601| 381| 542| 203| 443| 762| 201| 875| 130| 167| 421| 418| 613| 506| 991| 280| 311| 119| 59| 578| 688| 208| 129| 563| 715| 932| 709| 421| 705| 648| 281| 244| 325|