后台发布文章实时主动推送,手动推送可自行百度,可以配合自动推送使用。注意编码格式
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);//发布直接推送到百度