if(!function_exists('Baidu_Submit')){
function Baidu_Submit($post_ID) {
$WEB_TOKEN = 'xxxxxx';//这里换成你的网站的百度主动推送的 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);
}
把上面这段代码直接添加到你主题模板的 functions.php 文件里,wp-content>themes>主题名>functions.php,把上面的 TOKEN 值替换成你的网站就可以了,其余不用修改。
在发布新文章,会在自定义栏目出现 Baidusubmit=1,这就代表已经向百度推送了,如果你的文章没有收录,你想再次向百度主动推送,请把 Baidusubmit=1 删除,再次保存即可。一篇文章最好不要超过 2 次以上的主动推送