premise :
我不太清楚你问题的确切原因,但在会议结束后,考虑到;“用户”;编码专业水平,我的回答不是描述最终的解决方案,而是我自己在面对类似问题时会考虑的步骤。可能会有更好的方法,我很乐意听到,但正如我所说,我将此作为一个选项发布给没有编码或调试功能的普通用户。
奇怪的是,昨天,在向你发表评论时,我在localhost上也发生了类似的事情。经过一次简短的调查,我发现我的一个DB表(wp\\U帖子)被损坏了(这是6年来第一次)。
症状为:
所有附件都已删除(但仍在服务器上)
无法发布新帖子(仅提交预览)无法附加新图像,因为症状可能与您的不同,恢复情况也不同,所以仍然leads me to think that you have some damaged DB table
..因此,为了解决这个问题,您可以做以下三件事之一:
1-Reinstall your website completely including DB
这取决于你在网站上有多少内容,以及你想在总恢复中投入多少时间。
你基本上需要复制和粘贴,上传所有图片,创建新的类别和帖子。不建议导入,因为我们讨论的是信息关系本身受损的受损表。
2-Trying to RESTORE the damaged table .
进入您的PhpMyadmin,转到您的数据库-->;Structuraten标记您的表(可能一个接一个),然后选择"restore"
3-Try to handle the visible symptom 仅在忽略其他可能尚未发现的问题的情况下丢失附件的数量:
虽然这对我来说是不太推荐的,但对于那些内容丰富、时间有限的人来说,这可能是第一次尝试。
在这种情况下,我认为最简单的选择是尝试重新加载所有图像。但有一个陷阱。如果您将它们再次上传到相同的上传文件夹,wordpress将尝试避免命名冲突,并将使用序号重命名它们(例如。image.jpg
将像这样上载image1.jpg
等等……)这将导致它们无法识别为原始插入的图像。。
因此,您需要将上载文件夹备份到其他位置,然后从wp content/uploads文件夹中删除所有图像。此时,您需要再次从备份文件夹上载它们,然后附加。(因此保持相同的名称)
您可以:
在每篇文章中手动执行此操作(但如果选择此选项,则最好选择恢复选项1)使用一些插件,如add-from-server 然后是另一个unattach-and-re-attach 解决问题根据网站的自动化程度和编码方式,您还有第三种选择,即只将所有图像附加到一篇文章中,以便;“uplaod”;然后,它们将再次被识别为插入的图像,但此选项仅限于熟悉代码并能自动分配帖子缩略图和特色图像等的人
请注意,为了保持相同的名称,您必须只上载原始尺寸,而不上载自定义尺寸(意思是
image.jpg
而不是
image-800x600.jpg
)
长话短说,就我所知,这样一个问题没有简单的解决办法,但要在将来防止它,regularly backup of your DB
总是一个好建议。
WILD GUESS EDIT 此外,您在评论中说您删除了一个用户,然后;“已恢复”;DB的帖子。这也可能是问题的根源,尽管很难确认。
在这种情况下,您需要执行以下操作:
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
但下次删除用户时,请确保在删除之前将所有帖子分配给其他用户。