发表未来?怎么样?

时间:2010-11-05 19:45:48

标签: php content-management-system

我有一个问题。 我的一些CMS,在发布部分,我们有一个选项:“发布到未来”。如果我们检查它,我们可以给它一个发布该文章的日期和时间。 (例如2011年1月1日)。 当这一天到来时(2011年1月1日),CMS会自动发布该文章。

如何??? (这可能吗?或者我认为错了?)

3 个答案:

答案 0 :(得分:5)

这对于您正在使用的任何CMS都非常具体,但我猜它只是存储“发布日期”,然后当被要求显示所有文章时,它会执行以下操作:SELECT * FROM articles WHERE post_date <= NOW()

答案 1 :(得分:2)

有多种方法可以实现这样的功能。

我认为最简单的方法是在数据库中使用startTime字段。当您加载文章列表时,您可以WHERE startTime < NOW()。这将使文章只在指定时间后出现。

您也可以使用cron或许多其他方法。

答案 2 :(得分:0)

取决于。

在许多情况下,这只是一个未发布的问题 - 但是没有出现在任何地方的文章(搜索结果,主页,档案......)可以通过在文章表中存储发布日期并对其进行测试来完成:

SELECT * FROM article WHERE publishDate < NOW()

然而,一些任务必须在文章发布的确切时刻(例如pingbacks / trackbacks,向订阅者发送电子邮件......)进行,并且解决方案是安排任务经常运行(例如,每五分钟一次),查询数据库以查找过去发布日期的任何未发布的文章,并执行发布它们所需的任何内容。