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 帳戶管理或取消

為節省資源,留言將於捲動至此處或點擊按鈕後載入。