在DEDECMS中,编辑文章后更新发布时间的方法主要有两种:
方法一:通过SQL语句批量更新文章发布时间
1、更新dede_archives表中的pubdate字段:
执行以下SQL语句,将指定ID范围内的文章发布时间更新为特定时间(例如20160419 00:00:00):
“`sql
update dede_archives set pubdate=FLOOR(UNIX_TIMESTAMP(‘20160419 00:00:00’)46800 + RAND() * (86400)) where id>=8300 ;
“`
“46800”是因为网站使用的是美国主机,存在13小时时差,如果使用的是中国主机,可以去掉这个时间差值。
2、更新dede_arctiny表中的senddate字段:
由于“一键更新网站”功能调用的是dede_arctiny表,因此还需要执行以下SQL语句,将dede_arctiny表中的senddate字段与dede_archives表中的senddate字段同步:
“`sql
update dede_arctiny t set senddate=(select senddate from dede_archives where t.id=id) where id>=8300 ;
“`
方法二:修改article_edit.htm文件以保持原始发布时间不变
1、定位文件和代码:
找到并打开网站根目录下的/dede/templets/article_edit.htm文件。
2、修改代码:
在该文件中找到以下代码:
“`php
$nowtime = GetDateTimeMk(time());
“`
将其修改为:
“`php
$nowtime = GetDateTimeMk($arcRow["pubdate"]);
“`
这样修改后,当我们编辑文章时,如果不需要更新时间,就可以保持原始的发布时间不变。
注意事项
在进行SQL操作时,请务必备份数据库,以防万一出现数据丢失或错误的情况。
修改PHP文件时,请确保文件路径和代码位置正确,以免造成不必要的错误。
以上方法适用于DEDECMS系统,其他CMS系统可能有所不同。
FAQs
Q1: 为什么编辑文章后发布时间会自动更新?
A1: 这是DEDECMS的默认行为,旨在记录文章的最新修改时间,但有时我们可能需要保持原始的发布时间不变,以避免影响网站的排序和展示效果。
Q2: 如何避免编辑文章时自动更新发布时间?
A2: 可以通过修改/dede/templets/article_edit.htm文件中的相关代码来实现,就是将$nowtime = GetDateTimeMk(time());
这一行代码修改为$nowtime = GetDateTimeMk($arcRow["pubdate"]);
,这样修改后,编辑文章时就不会再自动更新发布时间了。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1116607.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复