将媒体库移动到完全不同站点的媒体库

时间:2016-10-28 作者:ΓΓIICK

我在一个WordPress安装的媒体库中有大约300个图像。

我需要将这些移动到一个完全不同的WP站点的媒体库中。这不是到新URL的完整站点迁移。我只需要移动300张图像。

当我试图将站点#1中的图像复制到站点#2的uploads文件夹中时,媒体库无法识别这些图像,显然是因为涉及元数据。

我尝试使用一个名为“从服务器添加”的插件,但该插件无法正确读取站点#1的缩略图。。。它把它们作为个人图片上传,不是很聪明。

我还尝试从MySQL命令行发起某种传输,但数据来自两个不同的表,wp_postswp_post_meta, 我不完全理解这些的结构。

那么除了手动上传300张图片中的每一张之外,还有什么方法可以做到这一点吗?

2 个回复
SO网友:cjbj

如果您使用的是WP 4.4或更新版本,则内置此功能。转到“额外->导出”,然后选择“媒体”。这将下载所有附件帖子。您可以在新安装中导入该文件。

SO网友:Tom J Nowell

WordPress不使用文件作为媒体,它使用类型为attachment. 这些贴子就是您在媒体库中看到的内容,它们有贴子元,可以将它们链接到uploads文件夹中的文件。

这就是为什么如果没有attachment 他们不会出现的帖子。

但由于附件基本上只是帖子,我们可以导入和导出它们,所以您现在的问题是:

Q: How do I export all posts of a single post type?

具体职位类型attachment?

有很多方法,但扩展性最好、运行最快的最可靠方法是终端中的WP CLI,例如:

wp export --dir="export_files" --max_file_size=3 --post_type="attachment"
这会将您的所有附件帖子作为WXR文件导出到名为export_files. 它还将这些文件的大小限制为3mb,确保导入过程不会因缺少可用RAM而失败

现在,您只需访问新站点并导入文件,确保选中“下载媒体”框。您可以通过标准导入器插件或在带有WP CLI的终端中执行此操作