You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除WordPress数据库中图片URL末尾的尺寸后缀?

嘿,这个问题我之前帮不少WordPress用户解决过,核心就是用正则匹配+批量替换来处理wp_posts里的图片URL,不过一定要先做好备份,不然出问题哭都来不及!

第一步:先把数据库备份好!

这是最最关键的前置步骤,不管用什么方法,先导出你的WordPress数据库(重点是wp_posts表),用phpMyAdmin、wp-cli或者主机面板的备份工具都可以,留好备份才能放心操作。

第二步:用MySQL正则替换处理(高效首选)

如果你的MySQL版本是8.0及以上,直接用REGEXP_REPLACE函数就能搞定,它支持正则匹配替换,完美适配你的需求。

具体SQL语句如下:

UPDATE wp_posts
SET post_content = REGEXP_REPLACE(
    post_content,
    'http://url\\.com/uploads/([^-]+)-980x\\d+\\.jpg',
    'http://url\\.com/uploads/\\1.jpg'
)
WHERE post_content LIKE '%http://url.com/uploads/%-980x%.jpg%';

语句说明:

  • ([^-]+)是捕获组,专门用来匹配文件名里的核心部分(也就是最后一个减号之前的filename);-980x\\d+精准匹配-980x后面跟着任意数字的高度后缀;\\.jpg匹配图片后缀。
  • WHERE子句用来过滤出包含目标URL的行,避免全表扫描,提升处理效率。

低版本MySQL(低于8.0,不支持REGEXP_REPLACE)的替代方案:

可以用WordPress官方的wp-cli工具,它能自动处理序列化数据(如果post_content里有序列化内容的话),比直接写SQL更安全:

wp search-replace 'http://url.com/uploads/([^-]+)-980x[0-9]+.jpg' 'http://url.com/uploads/$1.jpg' --regex --include-posts
第三步:验证替换结果

替换完成后,一定要去后台打开几篇包含目标图片的文章,确认URL已经正确修改,没有出现格式错误或者遗漏的情况。如果有问题,直接用之前的备份恢复即可。

额外提醒
  • 如果你的网站用了CDN或者图片优化插件,替换后记得清除缓存,不然前端可能还是显示旧的URL。
  • 要是你的URL里还有其他宽度的后缀(比如不是980x而是别的数值),可以把正则里的980改成\\d+,变成([^-]+)-\\d+x\\d+\\.jpg,就能匹配任意宽高的后缀了。

内容的提问来源于stack exchange,提问作者dennisc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:14:29