Php WordPress如何将垃圾帖子恢复到以前的状态?

Php WordPress如何将垃圾帖子恢复到以前的状态?,php,mysql,wordpress,Php,Mysql,Wordpress,我正在为我的一个网站创建一个简单的管理系统,现在我正在以WordPress的帖子系统为灵感创建一个博客 在我的博客中,您可以将其保存为草稿或已发布版本。 现在我想创建一种方法,当你删除一个博客时,它会在数据库中变成“垃圾”。当你还原它的时候,它会像WordPress一样再次还原为相同的类型 但是WordPress如何将垃圾帖子恢复到原来的post_状态呢?我已经查看了WordPress数据库,但我不知道它是如何做到的,因为当它被丢弃并且没有存储在表中的任何其他位置时,原始的post_状态被替换为

我正在为我的一个网站创建一个简单的管理系统,现在我正在以WordPress的帖子系统为灵感创建一个博客

在我的博客中,您可以将其保存为草稿或已发布版本。 现在我想创建一种方法,当你删除一个博客时,它会在数据库中变成“垃圾”。当你还原它的时候,它会像WordPress一样再次还原为相同的类型

但是WordPress如何将垃圾帖子恢复到原来的post_状态呢?我已经查看了WordPress数据库,但我不知道它是如何做到的,因为当它被丢弃并且没有存储在表中的任何其他位置时,原始的post_状态被替换为“trash”

那么,它是如何“记住”它最初的post_状态的呢?希望你明白我的意思:D

很抱歉,这不是一个与代码相关的问题,但我在其他任何地方都找不到任何答案

  • 谢谢

坦率地说,这是最基本的东西。您应该查看wp_posts表,看看垃圾帖子和已发布帖子(可能还有其他帖子)之间的区别。Wordpress通过更改特定数据行的post_status列来实现这一点。通过这种方式,它了解相关职位的当前状态

这可能与答案无关,但对于那些正在寻找答案的人来说,应该考虑看数据源,即你正在学习的任何系统的数据库……无论是Wordpress还是Moodle。

简称:

WordPress帖子的上一篇帖子状态存储在wp_Posteta表中。 在该表中,还存储了邮件被丢弃的时间

如果随后恢复帖子,则包含该特定帖子数据的行将被删除


这应该可以回答您的问题。

所有的帖子、页面和CPT都存储在数据库的
{table_prefix}\u posts

被丢弃的帖子、页面或CPT具有
post\u状态
trash
。在某些情况下,永久链接也被更改为
\u trashed

e.g; http://example.com/sample-page__trashed
要恢复帖子页面,请将
post\u状态更改回
published
,并从永久链接中删除
\u trashed


我最近修复了网站上使用“Frontend User Pro”插件的问题,登录页面和重置密码页面被破坏。该站点不工作,我使用上述方法修复了它。

垃圾
是帖子状态而不是帖子类型。只需在posts表中添加一个名为post_status的列,就可以轻松完成此任务。这样,您就可以按状态组织您的帖子。例如,
草稿
发布
垃圾桶
等等……它存储以前的状态。不管在哪里。您正在实现一个新系统,您可以选择存储它的位置。我在数据库中搜索了它,它不存储以前的状态,但当列更改为“垃圾”时它怎么知道以前的状态是什么?@Kristiansen是什么让你认为它知道的?因为如果你点击WordPress中的restore,它会恢复到以前的状态。