对于个人站长而言,每天更新高质量的文章是一项挑战。很多时候,站长们会从其他网站采集大量文章,并进行手工整理和伪原创处理。然而,在发布时,文章的时间戳仍然是采集时的时间,这不仅影响用户体验——用户可能认为内容不够新鲜;也可能成为搜索引擎判断内容采集的依据,尽管官方并未明确证实这一点。
那么,如何在DedeCMS中让未审核的内容更新时间为当前时间呢?其实,这一问题的解决方法并不复杂,主要是通过SQL语句来修改文章的发布时间。以下是两种具体实现方式:
方法一:增加“当前时间”按钮
此方法是在编辑文章页面添加一个“更新时间”的按钮,点击后,发布时间将自动更改为当前时间。具体操作步骤如下:
打开 dede/templets/article_edit.htm 文件,找到发布时间的相关代码:
<?php
$nowtime = GetDateTimeMk($arcRow["pubdate"]);
echo "<input name=\\\\"pubdate\\\\" value=\\\\"$nowtime\\\\" type=\\\\"text\\\\" id=\\\\"pubdate\\\\" style=\\\\"width:200\\\\">";
?>
在其后添加以下代码,用于生成一个“当前时间”按钮:
<input type="button" value="当前时间" OnClick="document.form1.pubdate.value='<?php echo $showtime=date("Y-m-d H:i:s");?>'" style="border:1px solid #ddd;background:#fff;" />
这样一来,当编辑文章时,只需点击按钮即可快速更新发布时间为当前时间。
方法二:发布时自动更新时间
第二种方法更加自动化,无需手动点击按钮。在文章审核并发布时,系统会直接将发布时间设置为当前时间。具体实现步骤如下:
同样定位到上述提到的发布时间代码段:
<?php
$nowtime = GetDateTimeMk($arcRow["pubdate"]);
echo "<input name=\\\\"pubdate\\\\" value=\\\\"$nowtime\\\\" type=\\\\"text\\\\" id=\\\\"pubdate\\\\" style=\\\\"width:200\\\\">";
?>
将其替换为以下代码:
<input name="pubdate" value="<?php echo $showtime=date("Y-m-d H:i:s");?>" type="text" id="pubdate" style="width:150">
这样,无论何时审核并发布文章,系统都会自动将发布时间设置为当前时间。
两种方法的优劣对比
以上两种方法各有特点。第一种方法更具针对性,适合需要保留原始发布时间的文章场景,避免了误改时间的问题;而第二种方法则更加高效便捷,特别适用于批量发布的场景。站长可以根据实际需求选择适合自己的方式。
无论是哪种方法,都可以有效解决DedeCMS未审核文章发布时间的问题,提升用户体验的同时,也有助于优化搜索引擎排名。