插件&二次开发
插件&二次开发

Website construction

首页 > PHPCMS建站 > 插件&二次开发 > 正文
phpcms 实现文章定时发布功能 (支持静态)
发布时间:2018-04-28 01:20:10 文章来源:本站综合

原理

使文章处于审核状态,只要到了设定的时间,一旦有用户访问有触发代码的页面,则自动通过审核,时间不到则不会通过审核。

用户访问最多的一般是文章内页,所以通常我们会把这个触发代码加入统计文章浏览次数的文件中去。

方法

修改栏目工作流为 一级审核,这时在发布内容时会有一个审核的选项,我们在发布文章时要把状态选择为 审核。

然后就是触发文件中写入代码,打开/api/count.php 定位到文件最后 的 ?>之前,分为以下两种情况插入代码

动态页面插入以下代码即可。

//add 定时发布审核功能
$modelid = $modelid ? $modelid : intval($_GET["modelid"]);
$content_db = $content_db ? $content_db : pc_base::load_model("content_model");
$content_db->set_model($modelid);
$where = " status = 1 and inputtime count($where);
if( !empty($r) ){ //执行update操作
$content_db->update( array("status"=>99),$where );
}

如果要支持生成静态HTML文件的话,就不要用上面的代码了。下面是来自PHPCMS官方论坛的代码,动态,静态都可以完美执行。

支持静态或动态的定时代码

//add 定时发布审核功能
$urlobj = pc_base::load_app_class("url", "content");
$html = pc_base::load_app_class("html", "content");
$modelid = $modelid ? $modelid : intval($_GET["modelid"]);
$content_db = $content_db ? $content_db : pc_base::load_model("content_model");
$content_db->set_model($modelid);
$where = " status = 1 and inputtime count($where);
if( !empty($r) ){ //执行update操作
$ids = $content_db->select($where, "id,catid", $r, "", "", "id");
foreach($ids AS $kid=>$v){
$catid = $v["catid"];
$id = $kid;
$r = $content_db->get_content($catid,$id);
$urls = $urlobj->show($id, 0, $catid, $r["inputtime"], $r["prefix"],$r,"add");
if($urls["content_ishtml"]) $html->show($urls[1],$urls["data"],0);
$html->index();
$html->create_relation_html($catid);
}
$content_db->update( array("status"=>99),$where );
}

修改过的 count.php 文件已经提供:

要触发定时功能,必须加入统计文章浏览次数的代码,搜索引擎很少回去访问js内容,所以一般人工访问,js才能执行。

结语

注意:静态列表页并不会实时更新,只有在下一篇定时文章发布成功后,列表页才会更新上一篇的文章。不过这根本不影响大局。

如果是新站,没有人访问,自己又懒得去访问,那么只好用VPS的计划任务了,定时访问网站内页即可。或者用其他类似流量精灵什么的软件,总之可以让她定时访问页面即可。

参考文献:http://bbs.phpcms.cn/thread-713552-1-1.html

分享到:

相关文章
关于鸟人IT

郑州鸟人计算机技术有限公司 (鸟人IT) ,是由从事多年互联网界研究的技术人创办,拥有强大的运营团队和技术团队,专注于高端网站定制、企业网站设计、集团网站建设、手机网站定制、微信小程序等应用开发、网站运营、互联网营销等,为企业提供全球化互联网解决方案。公司自创立以来,已成功为600多家企事业单位、政府机关提供过高端互联网服务,其中包括医院等医疗机构、学校等教育机构、政府部门、地方新闻门户机构、行业门户网站、众多优秀企业和个人与我们合作。

立即咨询