当前位置:首页 > 行业动态 > 正文

如何在Dedecms5.7中修改文章并保持发布时间不变?

在Dedecms5.7中,要使修改文章后发布时间不变,可以在编辑文章时不点击“更新时间”按钮。

在Dedecms 5.7中,默认情况下,当你修改并保存一篇文章时,系统会自动将该文章的发布时间更新为当前时间,这在某些情况下可能会对SEO(搜索引擎优化)产生不利影响,因为频繁更改文章的发布时间可能会导致搜索引擎重新评估页面的重要性和相关性,为了保持文章的发布时间不变,我们需要进行一些修改。

方法一:通过修改文章内容模型实现

1、打开文件

找到并打开/dede/templets/article_edit.htm文件。

2、查找代码

在文件中搜索以下代码段:

     <input type="hidden" name="pubdate" value="{$pubdate}" />

3、修改代码

将上述代码修改为:

     <input type="hidden" name="pubdate" value="{$arc.pubdate|GetDateMK}" />

4、保存文件

保存并关闭文件。

方法二:通过修改数据库表结构实现

1、登录数据库

使用phpMyAdmin或其它MySQL管理工具登录到你的数据库服务器。

2、备份表结构

在进行任何修改之前,建议先备份#@__archives表,以防出现意外情况。

3、添加新字段

#@__archives表中添加一个新字段,例如original_pubdate,用于存储文章的原始发布时间。

     ALTER TABLE#@__archives ADD COLUMNoriginal_pubdate DATETIME NOT NULL;

4、更新字段值

将现有的pubdate字段的值复制到新添加的original_pubdate字段中。

     UPDATE#@__archives SEToriginal_pubdate =pubdate;

5、修改发布逻辑

在发布文章时,不再修改pubdate字段,而是修改original_pubdate字段。

     UPDATE#@__archives SEToriginal_pubdate = '新的发布日期' WHEREid = 文章ID;

6、保存更改

保存并退出数据库管理工具。

方法三:通过修改程序代码实现

1、打开文件

找到并打开/dede/archives_article_save.php文件。

2、查找代码

在文件中搜索以下代码段:

     $pubdate = GetMkTime($pubtime[0], $pubtime[1], $pubtime[2], $pubtime[3], $pubtime[4], $pubtime[5]);

3、修改代码

将上述代码修改为:

     if (isset($originPubDate)) {
         $pubdate = strtotime($originPubDate);
     } else {
         $pubdate = GetMkTime($pubtime[0], $pubtime[1], $pubtime[2], $pubtime[3], $pubtime[4], $pubtime[5]);
     }

4、保存文件

保存并关闭文件。

相关问答FAQs

问题1:为什么需要保持文章的发布时间不变?

:保持文章的发布时间不变对于SEO非常重要,如果文章的发布时间经常变化,搜索引擎可能会认为网站不稳定或者内容不可靠,从而影响网站的排名,用户在浏览文章时,也希望能够看到文章的原始发布时间,以便了解内容的时效性。

问题2:如何验证修改是否生效?

:你可以通过以下步骤来验证修改是否生效:

1、编辑一篇文章并保存。

2、检查文章的发布时间是否保持不变。

3、如果发布时间没有变化,说明修改成功,如果发生了变化,可能需要检查代码是否正确或者是否有缓存影响。

0