百度推送功能还是存在的,DUX主题新版添加了百度站长推送功能,代码是DUX上取下来的,所以大家需要将所有_hui
函数换成自己的取配置项的函数名,不然会报错哟。对于其他主题,可以使用插件,比如在插件后台搜索 百度搜索推送管理 也是可以的,功能更加丰富,还可以提交BING。
1、 在主题目录下的options.php文件中加入如下配置项:
$options[] = array(
'name' => __('百度收录', 'haoui'),
'type' => 'heading' );
$options[] = array(
'name' => __('百度收录', 'haoui'),
'id' => 'bdtui_on',
'std' => false,
'desc' => ' 开启',
'type' => 'checkbox');
$options[] = array(
'name' => '快速收录-推送API',
'id' => 'bdtui_kuai_api',
'std' => '',
'desc' => '在百度搜索资源平台获得API;发布或更新文章前可选是否快速收录',
'type' => 'text');
$options[] = array(
'name' => '普通收录-推送API',
'id' => 'bdtui_api',
'std' => '',
'desc' => '在百度搜索资源平台获得API;发布或更新文章时默认推送到百度普通收录',
'type' => 'text');
加入后,在后台主题设置页面可以看到如下设置项:
2、 在functions.php文件中加入如下代码,用以添加写文章时右侧百度推送选项。
// 百度推送 https://www.xqblog.com/17894.html
////////////////////////////////////////////////////////////////////////////////////////////////////
if( _hui('bdtui_on') ) add_action('publish_post', 'tb_post_to_baidu_tui');
function tb_post_to_baidu_tui() {
global $post;
$plink = get_permalink($post->ID);
if( $plink ){
if( _hui('bdtui_kuai_api') && isset($_POST['baidutui_kuai_on']) && $_POST['baidutui_kuai_on'] && !get_post_meta($post->ID, 'baidutui_kuai', true) ){
$ch = curl_init();
$options = array(
CURLOPT_URL => _hui('bdtui_kuai_api'),
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $plink,
CURLOPT_HTTPHEADER => array('Content-Type: text/plain')
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
update_post_meta($post->ID, 'baidutui_kuai', $result);
}
if( _hui('bdtui_api') && !get_post_meta($post->ID, 'baidutui', true) ){
$ch = curl_init();
$options = array(
CURLOPT_URL => _hui('bdtui_api'),
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $plink,
CURLOPT_HTTPHEADER => array('Content-Type: text/plain')
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
update_post_meta($post->ID, 'baidutui', $result);
}
}
}
if( _hui('bdtui_on') ) add_action( 'add_meta_boxes', 'tbcm_meta_boxs2' );
function tbcm_meta_boxs2() {
add_meta_box( 'tb_baidu_tui', '百度收录', 'tb_baidu_tui_init', 'post', 'side', 'low' );
}
function tb_baidu_tui_init() {
global $post;
$tui = get_post_meta($post->ID, 'baidutui', true);
$kuai = get_post_meta($post->ID, 'baidutui_kuai', true);
echo '<br>';
echo '<label><input type="checkbox" name="baidutui_kuai_on" id="">快速收录</label>';
echo '<br>';
echo '<br>';
if( $kuai ){
$kuaiObj = json_decode( $kuai );
echo '<p><strong>快速收录:'.(isset($kuaiObj->success_daily)&&$kuaiObj->success_daily>0?'<span style="color:#46B450">推送成功</span>':'<span style="color:#FF5E52">推送失败</span>').'</strong></p>';
echo '<p>推送结果:<code style="word-break:break-all">'.($kuai?$kuai:'').'</code></p>';
echo '<br>';
}
if( $tui ){
$tuiObj = json_decode( $tui );
echo '<p><strong>普通收录:'.(isset($tuiObj->success)&&$tuiObj->success>0?'<span style="color:#46B450">推送成功</span>':'<span style="color:#FF5E52">推送失败</span>').'</strong></p>';
echo '<p>推送结果:<code style="word-break:break-all">'.($tui?$tui:'').'</code></p>';
}else{
echo '<p><strong>普通收录:</strong>将在发布或更新文章时推送</p>';
}
echo '<input type="hidden" name="tb_baidu_tui_noncename" id="tb_baidu_tui_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
}
添加上面代码后,在我们第一步添加的百度配置填写 接口地址 ,勾选启用;然后点击新建文章,可以看到右侧多了一个名为百度收录的选项。
再次说明:填“ 完整的接口地址 ”
说明:以上代码截取DUX主题,所以老版本DUX主题可以直接添加使用。