更新后仪表板中缺少帖子

时间:2019-02-20 作者:I\'m Root James

我对WordPress网站做了很多更新,包括为一个客户端将WP更新到5.0.3。更新后,主页和其他页面上的许多帖子都丢失了。虽然类别设置仍然设置为更新之前的状态,但当我删除/发布然后替换/发布类别时,页面会返回到原来的位置。

然而,客户表示,该网站仍有许多帖子缺失。我查看了wp\\U posts表并检查了有多少条记录。

SELECT count(*) FROM `wp_posts` WHERE 1

count(*)    
371
然而,WordPress面板总共只显示47篇帖子。

这有什么原因吗?有没有办法通过修复数据库中可能出现的任何错误来重新获得这些帖子?对于恢复这些帖子,我还有什么其他选择?

1 个回复
SO网友:Krzysiek Dróżdż

您的SQL查询是正确的,但。。。没有适当的WHERE 参与其中:

SELECT count(*) FROM `wp_posts` WHERE 1
因此它将统计该表中的所有行。该表包含帖子,但也包含更多。。。

首先,此表包含列post_status. 例如,有些帖子可能会被丢弃,您仍会对其进行计数。

但这个数字还有更大的问题。忽略帖子类型(列post_type). WordPress将许多对象存储为“posts”。例如,媒体库中的所有附件都存储在wp\\U posts表中。菜单项也是帖子。并且帖子有修订-它们也存储为帖子。

因此,要检查DB中有哪些帖子,必须使用如下查询:

SELECT * FROM wp_posts
一个一个地检查。这将显示此表中的所有帖子,您可以检查缺少哪些帖子。

如果某些帖子不再位于该表中,则无法恢复它们(除非您有任何备份)。