WordPress如何将已删除的帖子恢复到以前的状态?

时间:2014-11-02 16:57:15

标签: php mysql wordpress

我正在为我的某个网站创建一个简单的管理系统,现在我正在创建一个受WordPress启发的博客'发布系统。

在我的博客中,您可以将其另存为草稿版或已发布版。 现在我想创建一种方式,所以当你删除一个博客时,它会变成" trashed"在数据库中。当你恢复它时,它将再次恢复为同一类型,就像WordPress一样。

但是,WordPress如何将其删除的帖子恢复到原来的post_status?我查看了WordPress数据库,但我无法弄清楚,它是如何做到的,导致原来的post_status被" trash"当它被删除并且没有存储在表中的任何其他位置时。

那么它是如何记住"它的原始post_status?希望你明白我在问:D

很抱歉不是与代码相关的问题,但我无法在其他任何地方找到任何答案。

  • 感谢

3 个答案:

答案 0 :(得分:1)

简短:

WordPress帖子的上一个后期状态存储在wp_postmeta表中。 在该表中,邮件被删除的时间也被存储。

如果您随后还原帖子,则会删除包含该特定帖子的数据的行。

那应该回答你的问题。

答案 1 :(得分:0)

这是坦率的基本内容。您应该查看wp_posts表,看看已删除的帖子和已发布的帖子之间的区别(可能还有其他帖子)。 Wordpress通过更改该特定数据行的post_status列来完成此操作。这样它就知道有关职位的现状。

它可能与答案无关,但对于那些正在寻找这个问题答案的人,应该考虑查看数据源,即您正在尝试学习的任何系统的数据库...无论是Wordpress还是Moodle

答案 2 :(得分:0)

所有帖子,页面和cpts都存储在数据库中的{table_prefix}_posts中。

被删除的帖子,页面或cpts的post_statustrash,在某些情况下永久链接也会更改为__trashed

e.g; http://example.com/sample-page__trashed

要恢复帖子页面,请将post_status更改回published并从永久链接中移除__trashed(如果存在)。

我最近修复了使用“Frontend User Pro”插件的网站上的问题,并且登录页面和重置密码页面被删除了。该网站无法正常工作,我使用上述方法修复了它。