以下介绍如何通过简单的修改来对帝国cms系统增加百度主动提交URL的功能,以方便以发布文章的时候提交到百度。
只需要简单的修改以下3个文件即可,前提条件是必须要先在百度站长平台绑定站点,并且获取到token。
找到ecmsinfo.php,添加以下代码:
elseif($enews== "Post_Baidu_sitemap")
{
$id = $_POST['id'];
$urls = $_POST['titleurl'];
ePostBaiduSitemap($id, $urls);
}
找到:listinfo.php ,添加提交按钮代码:
<input type="submit" name="Submit101" value="百度URL主动提交" onClick="document.listform.enews.value='Post_Baidu_sitemap';document.listform.action='ecmsinfo.php';">
找到userfun.php,添加提交函数放在第二行后面:
//发送给百度时时更新——————————-
function ePostBaiduSitemap($id, $_urls) {
$site = 'https://www.moban5.cn'; //你的网站域名
$token = '百度获取到的token填这里'; //百度给的token
$countcount = count($id);
if (empty($count)) {
printerror("未选择信息ID", "", 1, 0, 1);
} $urls = array();
for ($i = 0; $i < $count; $i++) {
$id[$i] = (int) $id[$i];
if (array_key_exists($id[$i], $_urls)) {
$urls[] = $_urls[$id[$i]];
}
}
$api = "http://data.zz.baidu.com/urls?site=$site&token=$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);
$httpstat = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpstat == 200) {
$obj = json_decode($result);
printerror("今天剩余{$obj->remain}条,成功提交{$obj->success}条", "", 1, 0, 1);
} else {
printerror('推送失败', "", 1, 0, 1);
}
}
以上就是帝国CMS二次开发增加百度主动提交URL功能修改方法。
评论(0)