我如何将旧的、不存在的wordpress站点的图片批量上传到新的wordpress站点?

我如何将旧的、不存在的wordpress站点的图片批量上传到新的wordpress站点?,wordpress,Wordpress,情况是这样的:一些朋友有一个运行wordpress的旧网站,通过一些我们在这里不讨论的恶作剧丢失了域名和托管帐户。我有他们网站的完整备份,包括XML格式的wordpress导出文件 我可以轻松地在他们的新服务器上创建一个全新的wordpress安装,使用导出文件将他们的所有帖子导入数据库 这里的问题是:我不能使用导入器来使用该XML文件提取图像和附件,因为链接错误地指向了现在不存在的旧站点。我有图像和附件,但现在我想知道如何将它们批量上传到新数据库的媒体库中,并正确维护或更新指向它们的链接 扫描

情况是这样的:一些朋友有一个运行wordpress的旧网站,通过一些我们在这里不讨论的恶作剧丢失了域名和托管帐户。我有他们网站的完整备份,包括XML格式的wordpress导出文件

我可以轻松地在他们的新服务器上创建一个全新的wordpress安装,使用导出文件将他们的所有帖子导入数据库

这里的问题是:我不能使用导入器来使用该XML文件提取图像和附件,因为链接错误地指向了现在不存在的旧站点。我有图像和附件,但现在我想知道如何将它们批量上传到新数据库的媒体库中,并正确维护或更新指向它们的链接

扫描wordpress支持站点并查看插件列表会产生太多的点击,而这些点击与我试图实现的目标无关


我试图修改导出XML文件,通过修改附件帖子的
条目,告诉它从本地驱动器而不是旧主机中提取文件,但这不起作用。如果有人知道wordpress导入器使用的是哪个特定字段,我想这会很有帮助。

只有当你像你在问题中所说的那样,拥有站点(文件和数据库)的
完整备份时,这才有效

1-FTP将旧站点的所有
原始
wp文件夹结构按原样放入新服务器

2-登录到phpmyadmin并导入旧数据库

3-像这样运行SQL:

/**
To update WordPress options with the new blog location, use the following SQL command:
**/

UPDATE wp_options SET option_value = replace(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';

/**
After that you will need to fix URLs of the WordPress posts and pages, which translated from post slug, and stored in database wp_posts table as guid field. The URL values in this field are stored as abolute URLs instead of relative URLs, so it needs to be changed with the following SQL query:
**/

UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com');

/**
If you have linked internally within blog posts or pages with absolute URLs, these links will point to wrong locations after you move the blog location. Use the following SQL commands to fix all internal links to own blog in all WordPress posts and pages:
**/

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');
稍后,为了验证,请转到
wp\u选项
(或
prefix\u选项
)表,搜索
home\u url
blog\u url
选项,并查看它们是否相应更改(这取决于数据库版本)

如果一切正常且操作正确-您现在可以登录到新域

顺便说一句-如果您在本地计算机上有文件和数据库,您可以运行更改,导出并导入到已更改的数据库。。(这是我通常几乎每天都做的事情——时间多一点,但很简单)

如果您正确地执行了上述所有操作,并且您确实拥有以前的
原始
数据库和文件-您将在新域上拥有一个新的工作副本

基本上,如果操作正确,就不需要“导入”任何图像。你将为整个站点执行一个简单的域移动,包括插件、内容、图像、设置、主题等等


关于升级/版本的注意事项:当我写“原始”wp文件夹结构时,我的意思就是这样。即使它是一个旧的wp版本和旧的插件/主题-首先执行上述步骤,然后才运行升级。除非您知道旧的wp版本与db兼容,否则不要使用新的wp版本。

跳入导入程序代码,它似乎使用了
条目,或者如果该条目为空,则使用
条目。我尝试从
http://www.OLDDOMAIN.com/wp-content/uploads
file:///vagrant/main/uploads
——路径的其余部分将是相同的——但它没有达到我期望的效果,并尝试从
http://www.OLDDOMAIN.com
请看我的答案。。如果你有所有的数据库和文件,移动一个域只需5分钟。带附件的XML导入器是一件痛苦的事情,特别是对于大型站点。3个SQL语句,你就完成了。既然这是一个wordpress问题,难道不应该继续提问吗?