- 如何手动更新文章/栏目的发布时间?
- 如何设置文章发布后,自动更新修改时间?
下面我将为你详细解答这两个问题。

(图片来源网络,侵删)
如何手动更新文章/栏目的发布时间?
在 DedeCMS 后台,你可以在编辑文章或栏目时,手动修改它们的发布时间。
更新文章的发布时间
这是最常见的需求,比如想让一篇旧文章显示为“最新”。
操作步骤:
- 登录 DedeCMS 后台。
- 进入 发布” -> “文档列表”。
- 在文章列表中,找到你想要修改的文章,点击 “编辑”。
- 进入文章编辑页面后,向下滚动,找到 “发布时间” 这个字段。
- 默认情况下,这里会显示当前时间,你可以直接点击输入框,修改为你想要的日期和时间。
- 修改完成后,点击页面底部的 “确定” 按钮保存更改。
注意:
- 修改“发布时间”后,这篇文章在网站前台列表中的排序和时间显示都会更新为你设定的新时间。
- 如果你只想修改文章的“更新/修改时间”(通常前台不显示这个时间,但对SEO有影响),这个字段也可能在编辑页面的某个位置,但“发布时间”是控制前台显示的主要字段。
更新栏目的发布时间
如果你想让整个栏目看起来是“最近更新”的,可以修改栏目的发布时间。
操作步骤:
- 登录 DedeCMS 后台。
- 进入 “栏目管理” -> “栏目管理”。
- 找到你想要修改的栏目,点击 “编辑”。
- 在栏目编辑页面,找到 “发布时间” 字段并进行修改。
- 点击 “确定” 保存。
如何设置文章发布后,自动更新修改时间?
这是一个非常实用的功能,特别是当你对文章进行一些小修改(比如错别字修正、图片替换)后,希望文章的“更新时间”能自动变为当前时间,这样在前台列表中,这篇文章会重新排序,显得更“新”。
这个功能通常通过修改 DedeCMS 的核心文件来实现。请务必在修改前备份你的网站和文件!
操作步骤:
-
找到核心文件: 这个功能通常在文章的保存逻辑中,你需要修改的文件是:
/dede/archives_edit.php -
定位代码: 用代码编辑器(如 Notepad++, VS Code 等)打开
archives_edit.php文件。 -
添加或修改代码: 在文件中,找到处理文章更新的 SQL 语句,通常在文件末尾附近,类似这样的代码段:
// ... 其他代码 ... $upquery = "UPDATE `#@__archives` SET ismake='$ismake', arcrank='$arcrank', click='$click', title='$title', shorttitle='$shorttitle', color='$color', writer='$writer', source='$source', typeid='$typeid', litpic='$litpic', keywords='$keywords', description='$description', textinfo='$textinfo', updateuser='$username', senddate='$senddate', // 发布时间 sortrank='$sortrank' WHERE id='$aid'"; $dsql->ExecuteNoneQuery($upquery); // ... 其他代码 ... -
添加自动更新时间的代码: 在
senddate(发布时间)这一行后面,添加一行代码来设置uptime(更新时间)为当前时间戳。修改后的代码段应该是这样的:
// ... 其他代码 ... $upquery = "UPDATE `#@__archives` SET ismake='$ismake', arcrank='$arcrank', click='$click', title='$title', shorttitle='$shorttitle', color='$color', writer='$writer', source='$source', typeid='$typeid', litpic='$litpic', keywords='$keywords', description='$description', textinfo='$textinfo', updateuser='$username', senddate='$senddate', // 发布时间 uptime='".time()."', // 添加这一行,自动更新修改时间为当前时间戳 sortrank='$sortrank' WHERE id='$aid'"; $dsql->ExecuteNoneQuery($upquery); // ... 其他代码 ... -
保存文件: 保存
archives_edit.php文件。
效果:
每当你在后台编辑一篇已发布的文章并点击“确定”保存时,该文章的 uptime 字段就会被自动更新为当前时间,如果你的网站模板中调用了 uptime(field:uptime function='strftime("%Y-%m-%d",@me)'),那么前台显示的时间也会随之改变。
| 需求 | 操作方法 | 优点 | 缺点 |
|---|---|---|---|
| 手动修改文章时间 | 后台“文档列表” -> 编辑文章 -> 修改“发布时间” -> 保存。 | 简单直观,无需修改代码。 | 每次操作都需要手动进行。 |
| 手动修改栏目时间 | 后台“栏目管理” -> 编辑栏目 -> 修改“发布时间” -> 保存。 | 可以让整个栏目“焕然一新”。 | 影响的是整个栏目,操作较重。 |
| 自动更新修改时间 | 修改 /dede/archives_edit.php 文件,在 SQL 语句中添加 uptime='".time()."'。 |
自动化,方便,能提升文章活跃度,利于SEO。 | 需要修改核心文件,有风险,操作前需备份。 |
希望这些信息能帮助你解决 DedeCMS 后台更新时间的问题!
