當你在 WordPress 上傳某些類型檔案時發生以下錯誤「很抱歉,目前的登入身分沒有上傳這個檔案類型的權限」。

明明已經是用網站管理員登入?而同樣這個錯誤英文訊息為:「Sorry, This File Type Is Not Permitted for Security Reasons 抱歉,因為安全原因不支援這個檔案類型」英文的錯誤訊息才是真正的原因!你的 WordPress 禁止了這個檔案類型的上傳(誰來都一樣啦!)。
常見 WordPress 你會需要用到,卻無法支援上傳的檔案類型:
- SVG 圖檔
- TTF 字形檔案
解決方式也不難,這邊提供三個方法,選一個自己喜歡的吧!
安裝外掛擴充 WordPress 上傳檔案類型權限
WordPress 上遇到什麼問題你可以第一個想到的:外掛!
簡單、不需要程式,完美運作(因為開發者都幫你寫好測試過了),就只差在需不需要付費,幸好新增上傳檔案類型的功能是免費的功能。
到 WordPress 後台 -> 安裝外掛 -> 搜尋 Enhanced Media Library 安裝並啟用。
啟用後你的 WordPress 後台選單中的設定會多一個 MIME Types 的選項,點擊進入。
進入後,點擊「Add New MIME Type」來新增上傳的檔案類型,並在第二步的地方輸入想要新增的檔案類型。

比較特別的是,除了輸入檔案副檔名之外,得自己知道該檔案的 MIME Type。可以 Google 搜尋查詢該檔案的 MIME Type 是什麼英文。
本篇文提到的 SVG、TTF 檔案的 MIME Type:
檔案類型 | MIME Type |
SVG | image/svg+xml |
TTF | font/ttf |
據說在 2017 以前,ttf 檔案並無正式 MIME Type,當時普遍使用「application/octet-stream」、「application/x-font-ttf」作為 MIME Type,我實測過輸入這兩個關鍵字也能正常上傳使用。不過既然已經有正式的還是使用正式的 font/ttf 為主。
新增完成後就可以到媒體庫上傳檔案測試了,實測可以正常運作!

修改 functions.php 擴充上傳檔案類型
如果你不想安裝外掛,也是可以透過修改程式碼來新增 WordPress 的上傳檔案類型。
WordPress後台 -> 外觀 -> 佈景主題檔案編輯器,進入後右邊檔案列表中找到 functions.php 點擊就能見到該支檔案的程式。
往下拉到空白之處,貼上下面程式碼:
function my_custom_mime_types( $mimes ) {
// 新增允許的檔案類型
$mimes['svg'] = 'image/svg+xml';
$mimes['svgz'] = 'image/svg+xml';
$mimes['doc'] = 'application/msword';
$mimes['ttf'] = 'font/ttf';
// 移除可上傳的檔案類型
unset( $mimes['exe'] );
return $mimes;
}
add_filter( 'upload_mimes', 'my_custom_mime_types' );
(如有需要可自行新增刪減程式碼,來增加檔案類型)
修改 wp-config.php 來增加上傳檔案類型權限
最後的方法是修改 wp-config.php 來增加(建議先用方法一、二不行再考慮此方法,原因後述)
這個檔案無法在 WordPress 後台修改,因此必須使用 FTP 來連線你的網站。wp-config.php 的位置在 WordPress 網站的根目錄,也就是一進入資料夾你就能看到它的身影。
在檔案上按右鍵,選擇編輯。用文字本打開後貼上下面程式碼:
define('ALLOW_UNFILTERED_UPLOADS', true);
修改完關閉文字本的時候,會問你要不要儲存,記得選擇是!
此方法不建議的原因是將會打開全部檔案類型上傳的權限,將會降低網站的安全性。方法一、二也都不難,如果可以運作的話,就不需要用方法三了!
參考資料:
How to Fix the “Sorry, This File Type Is Not Permitted for Security Reasons” Error in WordPress