在编辑一个 WordPress 多站点其中一个子站点的数据库备份之后导入,发现编辑文章、页面等出现错误提示“You are currently editing the page that shows your latest posts”。在论坛中看到类似问题的讨论,才发现是因为 posts 表中出了错误:没有了主键(primary key。
解决的办法就是清空该表后重新导入正确的备份。
但是我的因为本来就是个空博客,只有安装时自动生成的几篇文章和页面,丢了就丢了吧,无所谓。而且其实该表是从别的博客里复制过来修改得到的。只是因为修改错了才导致这个问题,就懒得再去查到改错的根源了。于是直接修改数据库中对应的表 _posts,将第一项 ID 设置为主键。警告:这样操作很有可能导致该表中的数据丢失!
我是通过 phpMyAdmin 登录后修改的。打开属于 WordPress 的那个数据库,浏览到出错的这个表 _posts,进入其 Structure(结构)设置页面,前几项显示如下图:
第一项是 ID,点击右边 Action 那一列里面的 Primary 来将其设置为主键,根据提示框点击确认即可。改完之后 Structure 中第一列 ID 那里会出现一把金色的钥匙图标,即表示主键已设置。
如果这样改了还不行,还有前述错误,那么就是因为还少了让 ID 这一项的值“自动增加”(AI, Auto Increment)的设置。那就继续点击 Change,在 A_I 那一项下面的框里勾选上并保存(Save)即可。之后在上图所示的界面里第一行(ID)里倒数第二列 Extra 里面会显示 AUTO_INCREMENT。
这样应该就可以了。这估计是个千百万人中才有一个会遇到的问题吧 :D
更新一下:如果服务器磁盘被占满,也可能会出现这个错误,“您正在编辑展示最新文章的页面”。详见这里。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/wordpress-you-are-currently-editing-the-page-that-shows-your-latest-posts/>。转载请保留此信息及相应链接。
引用通告: 记一次 WordPress 故障导致服务器几近崩溃的问题 | 水景一页