在DEDECMS系统中,录入时间是指文章发布或更新时记录的时间信息,这一功能对于网站内容的管理和SEO优化至关重要,因为它可以帮助搜索引擎了解内容的新鲜度和更新频率,有时出于各种原因,我们可能需要修改这些时间的显示或实际值。
修改DEDECMS的录入时间
1. 找到并编辑article_add.php文件
打开管理目录下的dede目录,找到并编辑article_add.php
文件,在该文件中找到以下代码:
$addtime = GetDateTimeMk($arcRow["senddate"]); echo "<input type='text' name='senddate' value=''>";
这段代码负责生成录入时间的输入框。
2. 修改article_add_action.php文件
在同一目录下找到并编辑article_add_action.php
文件,在该文件中,找到以下代码:
$senddate = mytime();
这行代码会自动获取当前服务器的时间作为录入时间,为了能够手动设置录入时间,需要将其替换为:
$senddate = mktime($hour, $minute, $second, $month, $day, $year);
$hour
、$minute
、$second
、$month
、$day
和$year
是你需要设置的具体时间值。
3. 更新数据库插入语句
在article_add_action.php
文件中找到插入数据库的SQL语句,它可能看起来像这样:
$inQuery = "insert into dede_archives(typeid, typeid2, sortrank, iscommend, ismake, channel, arcrank, click, money, title, shorttitle, color, writer, source, litpic, pubdate, senddate, arcat, adminid, memberid, description, keywords, templet, redirecturl) values ('$typeid', '$typeid2', $sortrank, $iscommend, $ismake, $channelid, $arcrank, 0, $money, '$title', '$shorttitle', $color, '$writer', '$source', '$litpic', $pubdate, $senddate, $arcatt, $adminid, 0, $description, $keywords, $templet, $redirecturl)";
将其中的$sortrank
变量删除(因为我们不再需要它来自动设置时间),并将$senddate
变量保留,以便使用我们手动设置的时间值。
4. 保存并测试
保存对这两个文件的更改,并上传到服务器,尝试添加一篇新文章,看看是否能够成功设置自定义的录入时间。
FAQs常见问题解答
Q1: 如何批量修改已发布文章的录入时间?
A1: 你可以通过SQL命令行工具来批量修改已发布文章的录入时间,具体操作如下:
进入DEDECMS后台 > 系统 > SQL命令行工具。
复制并修改以下代码:
update dede_archives set senddate=1670000000 where id>=1 and id<=10; update dede_archives set pubdate=1670000000 where id>=1 and id<=10;
其中的数字1670000000
是你想要设置的新时间的时间戳,你可以根据需要修改这个值。
点击“确定”执行SQL命令,即可完成批量修改。
Q2: 为什么修改了录入时间但前台显示的还是旧的时间?
A2: 这可能是因为你没有正确更新文章列表或缓存导致的,请尝试以下操作:
进入后台 > 生成 > 一键更新网站 > 更新所有文档栏目。
如果仍然没有生效,请检查你的服务器时间和时区设置是否正确,并确保你的浏览器缓存已经清除。
通过上述步骤,你应该能够成功修改DEDECMS的录入时间,无论是单篇文章还是批量修改都可以轻松实现,记得在操作前备份好相关文件和数据库,以防万一出现问题可以及时恢复。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1114844.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复