解決 WordPress 登入身分沒有上傳這個檔案類型的權限

解決 WordPress 登入身分沒有上傳這個檔案類型的權限

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

解決 WordPress 登入身分沒有上傳這個檔案類型的權限
登入網站管理員,卻沒有檔案類型上傳權限?

明明已經是用網站管理員登入?而同樣這個錯誤英文訊息為:「Sorry, This File Type Is Not Permitted for Security Reasons 抱歉,因為安全原因不支援這個檔案類型」英文的錯誤訊息才是真正的原因!你的 WordPress 禁止了這個檔案類型的上傳(誰來都一樣啦!)。

 

常見 WordPress 你會需要用到,卻無法支援上傳的檔案類型:

  • SVG 圖檔
  • TTF 字形檔案

 

解決方式也不難,這邊提供三個方法,選一個自己喜歡的吧!

安裝外掛擴充 WordPress 上傳檔案類型權限

WordPress 上遇到什麼問題你可以第一個想到的:外掛!

簡單、不需要程式,完美運作(因為開發者都幫你寫好測試過了),就只差在需不需要付費,幸好新增上傳檔案類型的功能是免費的功能。

到 WordPress 後台 -> 安裝外掛 -> 搜尋 Enhanced Media Library 安裝並啟用。

解決 WordPress 登入身分沒有上傳這個檔案類型的權限:外掛

 

啟用後你的 WordPress 後台選單中的設定會多一個 MIME Types 的選項,點擊進入。

WordPress 外掛新增上傳檔案類型

 

進入後,點擊「Add New MIME Type」來新增上傳的檔案類型,並在第二步的地方輸入想要新增的檔案類型。

 

WordPress 外掛新增上傳檔案類型 ttf svg
後面的三個輸入框都輸入與 MIME Type 同樣的英文即可。

比較特別的是,除了輸入檔案副檔名之外,得自己知道該檔案的 MIME Type。可以 Google 搜尋查詢該檔案的 MIME Type 是什麼英文。

本篇文提到的 SVG、TTF 檔案的 MIME Type:

檔案類型MIME Type
SVGimage/svg+xml
TTFfont/ttf

據說在 2017 以前,ttf 檔案並無正式 MIME Type,當時普遍使用「application/octet-stream」、「application/x-font-ttf」作為 MIME Type,我實測過輸入這兩個關鍵字也能正常上傳使用。不過既然已經有正式的還是使用正式的 font/ttf 為主。

 

新增完成後就可以到媒體庫上傳檔案測試了,實測可以正常運作!

WordPress 外掛新增上傳檔案類型
可以上傳ttf了,這個外掛也會稍微改變媒體庫的瀏覽外觀,喜不喜歡就看個人

修改 functions.php 擴充上傳檔案類型

如果你不想安裝外掛,也是可以透過修改程式碼來新增 WordPress 的上傳檔案類型。

WordPress後台 -> 外觀 -> 佈景主題檔案編輯器,進入後右邊檔案列表中找到 functions.php 點擊就能見到該支檔案的程式。

如果你無法在後台外觀看到「佈景主題檔案編輯器」或無法編輯,請用方法三的 FTP 方式來修改 functions.php,連線後到 wp-content -> themes -> 點選你正在使用的佈景主題資料夾中就可以找到這支檔案。

WordPress function.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 網站的根目錄,也就是一進入資料夾你就能看到它的身影。

FTP 建議使用 FileZilla:使用方法

WordPress wp-config 新增上傳檔案類型

 

在檔案上按右鍵,選擇編輯。用文字本打開後貼上下面程式碼:

define('ALLOW_UNFILTERED_UPLOADS', true);

WordPress wp-config 新增上傳檔案類型

修改完關閉文字本的時候,會問你要不要儲存,記得選擇是!

 

此方法不建議的原因是將會打開全部檔案類型上傳的權限,將會降低網站的安全性。方法一、二也都不難,如果可以運作的話,就不需要用方法三了!

 

參考資料:

How to Fix the “Sorry, This File Type Is Not Permitted for Security Reasons” Error in WordPress

What is the MIME type for TTF files?

Right mime type for SVG images with fonts embedded

上一篇如何取消 bluehost 主機以及網域自動續訂? 下一篇設計 Logo 好 Easy!免費線上商標快選設計

沒有相關文章

WP近期優惠

WordPress 主機5/23 起漲價!把握最後三天機會!傳送門

WP近期優惠