如何批量替换wordpress文章中的链接

通过SQL语句来批量修改wordpress博客内容,文章中所有语句都使用默认的wp_表前缀,如果您的数据表前缀不是wp_则需要在语句中作相应更改。

做了Wordpress网站迁移(搬家),网站之前分配的域名是http://www.taihumeiren.com,后来需要更换网站域名为:http://www.louishe.com,且需要把网站源码转移到另一个空间。

网站迁移:第一步我是直接copy之前的网站源码放到另一个虚拟空间,然后把根目录wp-config.php连接数据库的配置换成新的数据库账号、密码、数据库名,修改区域如图:

数据库配置
数据库配置

第二步是把之前数据库的数据导入到新的数据库,导入的文件后缀是sql,导入成功之后,即可正常浏览网站的首页,但是还需要到网站的后台,把里面的网站域名等相关信息修改一下。

正常情况下,我们的网站各个功能都可以使用,但是我发现访问文章的内容时,会出现部分图片加载不出来(这个情况目前还不是很清楚,因为发文章上传图片的时候,其实图片是以相对路径保存在网站上,而且我网站上是有一部分文章图片是可以正常加载出来),通过网页工具查看源码发现图片的链接是这样的:http://www.taihumeiren.com/wp-content/uploads/2018/12/change.png,因为域名 taihumeiren.com 停用,所以图片肯定是找不到了。

图片路径是之前域名的绝对路径-文本编辑器查看
图片加载不出来-文本编辑器查看

像这类图片加载不出来的文章有50几篇,第一种方式那就是在后台一个个找到文章,用wp自带的编辑器打开源码查看路径,然后修改。但是太过繁琐。所以采用了网上给的第二种方法,通过sql语句快速修改。

首先我们要能通过phpmyadmin连接到数据库,一般虚拟空间提供商都会提供这个入口。然后在phpmyadmin面板使用SQL工具,在SQL工具搜索以下命令即可将文章中所有的这个
“ http://www.taihumeiren.com/wp-content/uploads/2018/12/change.png ”图片路径,转换成
“ /wp-content/uploads/2018/12/change.png ”

SQL命令面板输入的命令如下:

UPDATE wp_posts SET post_content = REPLACE( post_content,  'http://www.taihumeiren.com/',  '/' )

同理,修改其他链接只需要简单修改上面的代码即可!

替换好之后的文章图片,通过文本编辑器查看的结果如下:

sql语句修改之后的结果-文本编辑器查看
sql语句修改之后的结果-文本编辑器查看
SQL命令之后的图片显示出来了
SQL命令之后的图片显示出来了

备注,wordpree其他内容,SQL命令修改可以参见https://jingyan.baidu.com/article/9c69d48f40936013c9024e85.html

滚动至顶部