后台发布文章实时主动推送,手动推送可自行百度,可以配合自动推送使用。注意编码格式
1、打开module/article/admin/index.inc.php
查找:case 'add':(67行处)在
dmsg('添加成功', '?moduleid='.$moduleid.'&action='.$action.'&catid='.$post['catid']);
这段代码上面添加
baidu($do->itemid,$table);//发布直接推送到百度
其他板块 同理,如果每个板块都想推送, 可在其他板块重复以上步骤
2、打开api\extend.func.php增加百度推送函数:
function baiduping($url){
global $DT;
$api = "http://data.zz.baidu.com/urls?site=".$DT['baidu_site']."&token=".$DT['baidu_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 = curl_exec($ch);
if($result['not_same_site']){
$code = '推送地址错误';
}
if($result['error']){
$code = $result['message'];
}
if($result['success']){
$code = $result['success'];
}
return $code;
}
function baidu($itemid,$table) {
global $MOD, $db;
if(is_array($itemid)) {
foreach($itemid as $v) { baidu($v,$table); }
} else {
$item = $db->get_one("SELECT linkurl FROM {$table} WHERE itemid='$itemid'");
$item['linkurl'] = $MOD['linkurl'].$item['linkurl'];
$baidu = baiduping($item['linkurl']);
return true;
}
}打开admin\template\setting.tpl.php在适当位置添加site和token
<tr>
<td class="tl">站点域名site</td>
<td><input name="setting[baidu_site]" type="text" value="<?php echo $baidu_site;?>" size="60"/> <a href="<?php echo DT_PATH;?>api/redirect.php?url=https://ziyuan.baidu.com/linksubmit/index" target="_blank" class="t">site申请</a></td>
</tr>
<tr>
<td class="tl">密钥token</td>
<td><input name="setting[baidu_token]" type="text" value="<?php echo $baidu_token;?>" size="60"/> <?php tips('token需要在百度资源站去申请,同一域名下密钥token是相同的,不用独立设置。');?></td>
</tr>如果想修改也推送就这样操作
找到
dmsg('修改成功', $forward);
这一行上面 修改文章的时候也会推送
baidu($do->itemid,$table);//发布直接推送到百度


