什么情况需要更换WordPress文章的图片URL地址?
1、更换了网站域名
有许多网站建设初期都随便选择了一个网站域名,在更新文章的时候,上传图片很多时候都是自带网站域名,因此,一旦更换域名的时候,图片链接地址就会失效。
2、外链图床地址失效
有时候为了节省网站空间,或者更新文章的时候没有过多考虑,使用了统一的图床外链,比如使用了七牛云存储的二级域名。一旦图床外链失效,有可能是被防盗,有可能是更换了二级域名,那么图片的链接地址就会失效。
3、其他原因造成的图片地址失效
以上三种情况,如果要更换文章图片链接地址时,不进行批量式的修改,通过手工修改,除非文章才十篇八篇,那样就无所谓,否则将是很难更新图片地址。
两种可以批量式更新WordPress文章中的图片链接地址的方法:
方法一、更新数据库操作
通过MySQL的操作命令语句进行更新Update所有的文章中图片链接地址。
首先,备份好数据库。由于要对数据库操作,所以必须先备份好数据库。如何备份数据库,这里就不详说,可以网上搜索相关教程。
其次,可以通过PHPMyadmin面板操作。打开PHPMyadmin数据库管理软件,登陆后台选择对应的数据库wp_posts表,如下图:
在查找的地方填上你需要替换的域名,在替换为处填写替换后的域名,然后再点击下面的执行,进行替换。
需要注意的是,由于PHPMyadmin版本不同,操作界面也有所不同,如果没有上图所示,可以通过SQL进行更新操作。如下图:
输入命令:UPDATE pb_posts SET post_content = REPLACE( post_content, ‘旧域名’, ‘新域名’ );
UPDATE wp_posts SET post_content = REPLACE( post_content, ‘www.aaaaaa.top/wp-content/uploads’, ‘imgcdn.aaaaaa.cn’ );
UPDATE语句说明:
UPDATE 表名 SET 字段 = REPLACE(字段,’待替换内容’,’替换值’);
表明和字段名都不需要引号,只是在待替换内容和替换值上是需要引号的,因为他们是字符串类型的,这里要注意下。
这里需要注意的是,PHPMyadmin更新有可能并不完整,建议采用MySQL命令方式。即通过DOS或是LINUX命令窗口登陆数据库更新,更新语句即为UPDATE语句,这里就不详述。
方法二、通过替换文章文本方式操作
这一种方法最为简单,只需要将下面的代码加入Function.php文件中即可。
// 批量替换WordPress文章中图片URL地址
function replace_text_wps($text){
$replace = array(
'http://1mayi.com’ => ‘http://www.1mayi.com',
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}
add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');
(以上代码同样适用于替换文章中的文本关键词)
个人建议:虽然可以用两种方法进行操作都可以,但是为了避免有遗漏,建议两种方式同时进行。如果文章内容比较少的情况下,选择其他一种方式就可以了。