主动实时推送到百度代码 WordPress如何添加百度实时推送功能教程

2019年4月6日18:02:04 发表评论 332 阅读

百度站长自动提交中有一种推送方式为主动推送,不过实现的方法有几种,给出的代码也不完全,需要用户补充,这里分享的是百度主动推送WordPress版的通用代码,完全是实时推送。

PS:一个百度站长账号有多个站点,这几个站点的token值都是一样的。

WordPress百度主动推送代码1

这个方法不需要在意官方说的是否存在curl_init() 函数,适合小白,直接放上去就能够实现主动推送的功能。将以下代码加入到你的function文件中即可:

/**
* 主动实时推送到百度代码 WordPress如何添加百度实时推送功能教程
* 文章地址:https://www.77shw.com/jc/13426.html*/
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百度主动推送代码2

把以下代码中的token值(xxxxxxxxxxx)改为我们第一步获取的token值(其他的不用修改),然后把这些代码添加到主题目录下的 functions.php 文件最后一个?>之前即可。

/**
* 主动实时推送到百度代码 WordPress如何添加百度实时推送功能教程
* 文章地址:https://www.77shw.com/jc/13426.html
*/
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);
}

Ps:虽然,主动推送的各种方法都支持一次推送多条数据,从我个人的经验来看,对于老文章没必要再次推送,频繁推送容易导致百度“翻脸”!

WordPress百度主动推送代码3

如果按以上步骤正确操作后,在发布新文章时自定义栏目中不会出现我们期望的baidusubmit,说明实时推送给百度不成功,说明所使用的主机的 curl_exec()函数被禁用了。这个时候,我们只需要把以下代码替换掉第二步的代码即可。

/**
* 主动实时推送到百度代码 WordPress如何添加百度实时推送功能教程
* 文章地址:https://www.77shw.com/jc/13426.html
*/
if(!function_exists('Baidu_Submit')) {
    function Baidu_Submit($post_ID) {
        $WEB_TOKEN='xxxxxxxxx';  //这里换成你的网站的百度主动推送的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;
        $data = array (
            'http' => array (
                'method' => 'POST',
                'header'=> "Content-Type: text/plain",
                "Content-Length: ".strlen($url)."rn",
                'content' => $url
            )
        );
        $data = stream_context_create($data);
        $result = file_get_contents($api, false, $data);
        $result = json_decode($result,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百度主动推送代码4

免去安装WP BaiDu Submit插件的实现了WordPress更新文章实时推送到百度新策略!很多人都还是想要的,因为插件的确是越少越好了。将下面的代码添加到你主题的functions.php中去,并替换相关API即可:

/** * 主动实时推送到百度代码 WordPress如何添加百度实时推送功能教程 
* 文章地址:https://www.77shw.com/jc/13426.html 
*/
function mee_post_baidu($post_id,$post){
$PostUrl = get_permalink($post_id);
$urls=array($PostUrl);
$api = ‘你的api调用地址’;
$ch = curl_init();
$options = array(
$api,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => implode(”
“, $urls),
array(‘Content-Type: text/plain’),
);
$ch, $options);
curl_exec($ch);
add_action(‘publish_post’, ‘mee_post_baidu’);

替换上面的api地址为你自己的即可,这样的方法是最简单明了的,如果不会操作的朋友,还是可以尝试下载安装WP BaiDu Submit插件的,至于插件的设置嘛。还是很小白化的,这里就不叙述了,在这,感谢百度,感谢团队维维的贡献!

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 你领一次红包多一份动力
  • 支付宝搜索7503319领取
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: