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