首页 > WordPress > 开发笔记 > 给wordpress主题(一点半)添加百度主动推送功能

给wordpress主题(一点半)添加百度主动推送功能

一个老不正经 2022/12/13 2,223围观

wordpress本身是有很多小伙伴有制作免费的百度主动推送插件,甚至是必应的,其他平台因为都是用sitemap进行提交内容的,所以并没有推送功能和插件;但是问题来了,wordpress插件越多,后台越卡,主要是插件里面包含了js和css,插件越多,加载的js和css就越多,后台也就越卡,所以一点优化在这里给自己的主题写的,下面贴代码。


百度站长后台提供的推送代码说明:

$urls = array(//这里是需要推送的链接
    'http://www.example.com/1.html',
    'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=你的域名&token=准入匙';
$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);
echo $result;

根据百度提供的php推送代码,我们可以改成下面这样

<?php
//普通收录提交
function baidu_ordinary($post_ID) {
$ydb_token = 这里填入准入匙;
$ydb_home = home_url();
if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
$url = get_permalink($post_ID);
$api = 'http://data.zz.baidu.com/urls?site='.$ydb_home.'&token='.$ydb_token;
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $url,
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = json_decode(curl_exec($ch),true);
if (array_key_exists('success',$result)) {
add_post_meta($post_ID, 'Baidusubmit', 1, true);
}
}
add_action('publish_post', 'baidu_ordinary', 0);

看了上面的是不是非常简单,当然还在测试阶段,不知道会不会出问题,有问题再修吧