WordPress主动推送到百度收录

小熊 网站建设评论5,957字数 1538阅读5分7秒阅读模式

百度站长自动提交中有一种推送方式为主动推送,我看了网上的各种代码比如这个网站https://www.wuzuowei.net/12076.html
,都没办法实现,没办法,只能自己实现一个了。

WordPress百度主动推送代码

结合百度官方给出的范例,我结合上面那个网址,重新写了代码
将以下代码加入到你的function文件中最后?>的位置,如果没有这个符号就直接放最后即可:

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;urls = array(
    url,
    );ch = curl_init();
    options =  array(
        CURLOPT_URL =>api,
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS => implode("\n", urls),
        CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
    );
    curl_setopt_array(ch, options);result = curl_exec(ch);
    //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
    if(strstr(result,"success") == FALSE){
       add_post_meta(post_ID, 'Baidusubmit', -1, true);res_array = json_decode(result,true);
       add_post_meta(post_ID, 'Baidusubmit_error', res_array["error"], true);
       add_post_meta(post_ID, 'Baidusubmit_message', res_array["error"], true);
       add_post_meta(post_ID, 'Baidusubmit_success_url_number', 0, true);
    }else{
       add_post_meta(post_ID, 'Baidusubmit', 1, true);res_array = json_decode(result,true);
       add_post_meta(post_ID, 'Baidusubmit_success_url_number', $res_array["success"], true);
    }
}
add_action('publish_post', 'Baidu_Submit');

添加之后在随便发一篇文章, 只要点更新就可以在自定义字段这里看到如下图:

WordPress主动推送到百度收录

Baidusubmit_success_url_number 代码一次性提交成功了多少个网址,因为他支持批量提交,我们每次提交一个,所以一般是1

我在刚刚的代码里加了如果提交失败的报错码,和报错信息。如果出问题你可以自己研究,或者联系我。

我的文章太多怎么办?

WordPress主动推送到百度收录

在这里,一页一页的权限,编辑,随便改个字段,我改的作者字段,一应用就ok啦(注意,这里应用的话首页幻灯就没有了,要重新添加下)

weinxin
公众号
扫码订阅最新深度技术文,回复【资源】获取技术大礼包
小熊