借用过一位高手的发布文章主动推送到百度的代码,但是在使用过程中发现定时文章没法推送。有时候我们为了让蜘蛛感觉我们很有规律,或者采集的内容让发布时间自然带你,会用到定时发布的功能,就加了一个事件,仅仅增加一行,功劳归于原作者。
//主动推送
if(!function_exists('Baidu_Submit')){
function Baidu_Submit($post_ID) {
$WEB_TOKEN = 'pelyJEWZRqxCQwSc'; //这里请换成你的网站的百度主动推送的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);
add_action('publish_future_post', 'Baidu_Submit', 0); //定时文章推送
}
原文链接:https://zhangge.net/5041.html
留下您的宝贵意见