dede自动审核发布功能的实现

dede自动审核发布功能的实现

相信很多朋友都用过wordpress,其中有一个非常有用的功能就是定时发布文章。这个功能使用起来非常方便。特别有利于SEO。因为有时候你突然心血来潮,一下发布10几篇文章,但是有时候你又N久没有时间,或者没有好的思路一篇文章都不更新,这样会被蜘蛛厌恶,认为你的站点不是太值得信任。一个较好的解决方案就是通过定时发布文章的功能来实现,让一个时间写的文章分多天分别发布出来。在wordpress里面本身就带这个功能。但是强大的dedecms却没有此功能。那今天青岛网站建设就跟大家一起分享一下如何使用dedecms实现这个自动审核文章的功能。

首先,我们找到是否审核的字段名称,未审核的arcrank` = -1,而已经审核的值为0。又已知dedecms本身拥有一个定时插件。利用这两方面的工具就可以实现我们想要的功能了。

仔细阅读plus/task.php中的注释说明,就可以了,这里不再赘述。

计划任务程序使用说明:
本程序本身并不会执行任务任务,职责是跳转到要执行的任务网址(JS调用形式),或直接返回要执行的任务网址(客户端形式)
·为了确保任务能执行完全,建议使用Dede的客户端工具,否则只能通过JS触发,但JS触发有很多不确定因素会导致任务不能完成;
·JS触发方式:在所有文档页面中用JS调用/plus/task.php?client=js(必须禁用计划任务的密码,系统配置参数->其它选项);
·自行定制客户端:直接访问“http://网址/plus/task.php?clientpwd=管理密码”,会返回其中一个可执行任务的网址(没有可用任务则返回串:notask),然后客户端运行这个网址即可。

第二步,编写一个程序文件用于定时触发。代码如下:

 

<?php
require_once(dirname(__FILE__).'/../../include/common.inc.php');
$tm = time();
$dsql->Execute('me', "SELECT id,pubdate,arcrank FROM `dede_archives` WHERE `pubdate` < '".$tm."' and `arcrank` = -1");
while($arr = $dsql->GetArray())
 {
  $dsql->ExecuteNoneQuery("UPDATE `dede_archives` SET `arcrank` = 0 WHERE id='{$arr['id']}' ");
  $dsql->ExecuteNoneQuery("UPDATE `dede_arctiny` SET `arcrank` = 0 WHERE id='{$arr['id']}' ");
 }
?>

 

这样,我们就实现了,使用该程序自动更新发布时间在当前时间以前的文章从待审核稿件自动更改为开放浏览状态的功能了。

 

然后我们再设置arlist的缓存时间为1小时即3600秒(系统——系统设置)。这样,我们就实现了dede自动审核。以后再发布多篇文章只需将阅读权限修改为待审核稿件,然后发布时间修改为你想要文章显示的时间即可。是不是很强大,呵呵。