你需要扫描你的wp-content/uploads
文件夹用于上载文件,然后是数据库用于引用这些文件,最后将它们匹配在一起。不能匹配的应该可以安全删除。
数据库扫描是一个棘手的部分。大多数文件引用存储在媒体库中,您可以使用标准WordPress函数/API访问该媒体库。但是,从媒体库中删除但仍被帖子引用的文件会发生什么情况?或者其他插件以不同方式链接到的文件?
我做了大量的测试,从我收集的数据来看,所有文件引用要么以纯文本格式(即仅一个等于文件路径或URL的表格单元格)、HTML格式(即帖子的内容)存储为序列化数据,要么最终存储为JSON对象。您必须扫描整个数据库,并尝试猜测每个单元格中使用的格式。当然,有些插件可能会使用其他奇特的方法来保存对其文件的引用,但这些方法只能根据具体情况进行处理。
因此,我编写了一个插件,可以自动完成所有这一切,因为我需要它用于一些客户的网站,并将其命名为Theia Upload Cleaner. 这对我来说很有效,但当然你应该在尝试这样的事情之前做一个备份。