WordPress 的媒体上传默认路径,其实藏在数据库里,后台竟然找不到这个选项。这篇文章记录我修改媒体上传默认路径的完整过程,包含数据库修改与 SQL 批次替换旧路径的方法。

方法一:在 wp-config.php 定义 UPLOADS

最简单的方式,是在 wp-config.php 中加入以下这行:

/* define( 'UPLOADS', 'images' ); */

不过这个方法会改变上传目录的相对路径,若你已经有既有的图片路径,可能反而造成混乱。因此我后来改用数据库的方式处理。

方法二:修改 wp_options 资料表

首先,找到 wp_options 资料表 → 点选该资料表 → 搜寻 → 运算符选择 LIKE %…% → 值输入 upload → 执行。

执行完后会出现三个搜寻结果,首先修改资料夹默认路径,upload_path 点选左边编辑即可修改,默认是空白的:

  • upload_path:图片资料夹路径 /home4/willicv1/public_html/images/uploads(原图片资料夹)
  • upload_url_path:子网域的网址路径 https://images.williamformosa.com/uploads

修改好后按执行。

一旦 wp_options 有了资料后,就可以到「设定 > 媒体 > 上传文件」来检查路径有没有错,从这边可以直接修改。WordPress 为什么不一开始就把这选项弄出来啦……还要先去数据库弄。

方法三:用 SQL 批次替换文章里的旧路径

点选 SQL,将下列两串指令的网域修改成你的网域 & 子网域,按下执行就会将文章里的旧路径修改成子网域的路径了!

UPDATE wp_posts SET post_content = REPLACE(post_content,'http://www.domain.com/wp-content/uploads','http://img1.domain.com/uploads')
UPDATE wp_posts SET guid = REPLACE(guid,'http://www.domain.com/wp-content/uploads','http://img1.domain.com/uploads')

修改好后到 WordPress 后台媒体查看图片是否都有显示出来,没有的话检查一下 FTP 里面是否有照片。如果有些图片是放在小工具里面,就手动更换路径吧,没几个应该很快的。基本上到这边就大功告成了!

小结

修改 WordPress 媒体上传默认路径,关键在于 wp_options 资料表中的 upload_path 与 upload_url_path 两个栏位。设定完成后,别忘了用 SQL 的 REPLACE 指令把旧文章里的图片路径一次换掉,再回头检查媒体库与小工具中的图片是否正常显示。虽然 WordPress 没有把这个选项做进后台,但只要照著步骤走,其实一点也不难。

✦ 独立报道 · 读者支持 ✦

以实际行动支持独立观点,与我们一同走得更远

每一篇条理清晰的分析、每一次不随波逐流的观察,背后都是对真实与品质的坚持。我们拒绝内容农场与算法流量绑架,坚持自由独立的客观发声。

维持高品质的原创写作与独立运营,需要持续的实质力量。您可以选择一次性赞助或每月定期支持,通过 Google 安全结账,与我们一同守护这份深刻与清醒。

由 Google 安全处理付款 · 可随时在 Google 账户管理或取消