织梦DedeCMS后台添加一键推送百度站长、MIP、熊掌号功能

之前我们介绍过(DEDECMS织梦程序实现熊掌号API提交接口推送(PHP推送))及DEDECMS织梦发布文章添加百度自动推送功能,今天我们就介绍下,通过后台添加所有推送功能,如:一键推送PC、一键推送WAP、一键推送MIP、一键推送熊掌/历史

、一键推送神马等。

织梦织梦DedeCMS网站一键推送功能有利于搜索引擎蜘蛛在第一时间抓取到网站的最新内容,收录速度快速提高……

织梦DedeCMS后台添加一键推送百度站长、MIP、熊掌号功能

第一步:百度站长、MIP、移动推送

在织梦后台目录下(默认为dede),新建一个baidu.php文件,放入以下代码。

<?php

require_once ("../include/common.inc.php");

require_once "../include/arc.partview.class.php";

require_once('../include/charset.func.php');

$limit = 2000; //百度一次性推送最多2000条记录,所以限制推送数量为2000

$query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid ORDER BY pubdate DESC LIMIT $limit"; //这里dede换成你们自己的表前缀

$urls="";

$dsql->Execute('arch.id,types.typedir',$query);

while($row = $dsql->GetArray('arch.id,types.typedir'))

{

 $urls.="http://www.zuola.net".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".","; // http://www.zuola.net 换成你们自己的域名

}

$urls=substr($urls,0,-1);

$urls = explode(",",$urls);

$api = 'http://data.zz.baidu.com/urls?site=www.zuola.net&token=********'; // 前边的api换成自己的推送 API

$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.count($urls);

?>

注意:上面有三个域名的地方,要改成自己的。

其他MIP推送、移动推送同理,多新建几个PHP,更换下域名和API推送接口即可。

 

第二步:熊掌号推送

熊掌号只能推送当天更新的数据,所以要代码跟上面的有点不一样,要加个时间限制。

 

在织梦后台目录(默认为dede),新建一个xz.php文件,放入以下代码。

<?php

require_once ("../include/common.inc.php");

require_once "../include/arc.partview.class.php";

require_once('../include/charset.func.php');

$year = date("Y");

$month = date("m");

$day = date("d");

$dayBegin = mktime(0,0,0,$month,$day,$year);//当天开始时间戳

$dayEnd = mktime(23,59,59,$month,$day,$year);//当天结束时间戳

$query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid where pubdate<".$dayEnd." AND pubdate>".$dayBegin.""; //这里dede换成你们自己的表前缀

$urls="";

$dsql->Execute('arch.id,types.typedir',$query);

while($row = $dsql->GetArray('arch.id,types.typedir'))

{

 $urls.="http://www.zuola.net".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".","; // http://www.zuola.net 换成你们自己的域名

}

$urls=substr($urls,0,-1);

$urls = explode(",",$urls);

$api = 'http://data.zz.baidu.com/urls?appid=****&token=***&type=realtime'; // 前边的api换成自己的推送 API

$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.count($urls);

?>

第三步:在织梦后台添加推送菜单

打开/dede/inc/inc_menu.php,大概136行下面添加刚刚新建的PHP文件

<m:item name='一键推送PC' link='baidu.php' rank='sys_MakeHtml' target='main' />
<m:item name='一键推送PC' link='xz.php' rank='sys_MakeHtml' target='main' />
 

测试

显示success,则说明功能正常。