it-swarm.cn

清理上传文件夹,媒体库数据库结构

我正在升级和清理一个在Blogger.com上开始的旧博客,然后转移到自托管WordPress 2.1,2.3和现在3.0。帖子中的图像散布在周围:大多数都在/wp-content/中,但不是全部在/wp-content/uploads//wp-content/uploads/year/month/中。其他人仍然参考blogger.com图像服务器。我想在/wp-content/uploads/year/month/中整合它们,我认为这是“正确”的地方?这应该使以后的升级更容易。

做这个的最好方式是什么?我也想更新元数据,以便媒体库可以管理所有元数据。我找不到任何关于此的文档,很抱歉,如果我错过了,请指出。

当然,我会提供从旧位置到新位置的重定向。做这个的最好方式是什么?插件的模板404.php?我想添加一些日志记录,因此我们可以找到引用页面并可能更正它们。

(这个问题是 最初在WordPress支持论坛上提出 ,但没有得到有用的答案)。

10
Jan Fabry

W3-Total Cache具有扫描所有帖子并将任何外部图像导入媒体库并将路径更改为新位置的功能。

见截图

alt text

7
Chris_O

正确的位置是我想说的当前设置。因此,如果您现在使用一个上传文件夹(而不是年/月子文件夹),请使用该文件夹(可能会非常完整,但更容易排序。所以只需将年/月子目录中的所有文件移动到uploads目录并更改URL - 数据库中的路径通常应该完成这项工作。

毕竟在一个文件夹(并已排序)中,您可以再次更改文件夹设计,并使用PHP脚本将文件移动到正确的目录中,该脚本从数据库中读取日期。完全相同的脚本也需要再次采用URL路径。

这就像迈克建议的完全相同的脚本。

现在,WP UI不支持手动移动或重命名文件,因此您必须使用某些自己的代码。无论如何,哪个批次都有意义。

现有和相关插件

2
hakre

@Jan Fabry:您可能需要单独处理每个案例,即Blogger托管的图像和wp-content之外的图像等。

这是一个从Blogger导入的插件;它暂时没有更新,但可能仍然有用或至少有你可以使用的代码:

还有一个较旧的插件可能会或可能不会工作:

除此之外,我认为您只需要编写一个PHP脚本来扫描您的文件并扫描您的帖子以查找嵌入的图像URL,开发相交的列表,然后移动文件并更新帖子中的参考。或者也许你会很幸运,这个插件仍然有效,并为你做到!

祝好运。

1
MikeSchinkel

也许(这只是为了未来的读者 - 这是一个古老的Q)你可以列出所有'post_type'=>'附件'并开始从那里分离。我的意思是获取帖子并将不同的位置保存在一个数组中。然后对其进行排序,以便了解图像所在的位置......

0
kaiser