WordPress利用代码实现百度主动推送

WordPress利用代码实现百度主动推送
使用百度主动推送可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录;对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现。那么在WordPress中如何利用代码实现百度主动推送呢,小编在张戈博客找到了相关的代码,下面分享一下。

在 PHP 中发起 HTTP 请求并不是很难,有很多种方法:使用 fopen() 函数,使用 CURL 扩展,使用文件操作函数如 fsockopen() 和 fwrite()等,但是问题是各种方法所依赖的服务器的配置把不同,有些服务器可能无法支持,不过 WordPress 自身开发了新的 API WP_Http 使得 WordPress 在所有环境下都非常容易发起 HTTP Request。
PHP 类:WP_Http
WordPress 2.7 开始引入了一个新的 PHP Class:WP_Http(在 wp-includes 目录 http.php 文件中)。这个 Class 的强大之处是它会检测服务器的情况,选择最好的方法去实现 HTTP 请求,所以我们自己无须去检测 HTTP 扩展,fopen(),是否存在curl_init() 函数,这个 Class 都会包办这些检测。
——-摘自我爱水煮鱼《使用 WP_Http 在 WordPress 中发起 HTTP Request

话不多说,上代码,复制以下代码至function.php中,修改你的token,即可轻松搞定:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* WordPress发布文章主动推送到百度,加快收录保护原创【WordPress通用方式】
*/

if(!function_exists('Baidu_Submit')){
    function Baidu_Submit($post_ID) {
        $WEB_TOKEN  = 'xxxxxxxxxxx';  //这里请换成你的网站的百度主动推送的token值
        $WEB_DOMAIN = get_option('home');
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
        $url = get_permalink($post_ID);
        $api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;
        $request = new WP_Http;
        $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
        $result = json_decode($result['body'],true);
        //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
        if (array_key_exists('success',$result)) {
            add_post_meta($post_ID, 'Baidusubmit', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_Submit', 0);
}
本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!网站资源来自用户分享,如有侵权行为请联系网站客服处理。
二月繁华 » WordPress利用代码实现百度主动推送

发表评论

提供最优质的资源集合

了解详情