WordPress 因為保安原因,所以限制了 Media library 入面檔案種類,如 .exe , .zip 等等都
只有以下檔案才可以經 WordPress 上載:
Images
- .jpg
- .jpeg
- .png
- .gif
Documents
- .pdf (Portable Document Format; Adobe Acrobat)
- .doc, .docx (Microsoft Word Document)
- .ppt, .pptx, .pps, .ppsx (Microsoft PowerPoint Presentation)
- .odt (OpenDocument Text Document)
- .xls, .xlsx (Microsoft Excel Document)
Audio
- .mp3
- .m4a
- .ogg
- .wav
Video
- .mp4, .m4v (MPEG-4)
- .mov (QuickTime)
- .wmv (Windows Media Video)
- .avi
- .mpg
- .ogv (Ogg)
- .3gp (3GPP)
- .3g2 (3GPP2)
有這種限制其實非常合理,而且一般自架 WordPress 站的都可以經 FTP 上載,所以問題應該不大。
但是有時想經 database 管理,方便以後尋找;或者一些新檔案格式如 Google 的 webm 等,可能希望透過 WordPress 上載,可以透過修改 functions.php 來達到。
但是一般來說都會盡量避免修改 WordPress 內置的 functions.php
所以會修改 Themes 內的 functions.php
Themes’s function.php 的位置一般在 /wp-content/themes/[your themes name]/functions.php
在最底 ?> 上面加上
add_filter(‘upload_mimes’, ‘custom_upload_mimes’);
function custom_upload_mimes ( $existing_mimes = array() ) {
// 以下增加你想支援檔案的類型
$existing_mimes[‘msi’] = ‘application/x-msdownload’;
$existing_mimes[‘zip’] = ‘application/zip’;
$existing_mimes[‘rar’] = ‘application/x-rar-compressed’;
$existing_mimes[‘7z’] = ‘application/x-7z-compressed’;
// 例如 powerpoint 有幾種格式如 ppt, pptx, pot 等等,這類同一格式但不同副檔名可以這樣改
// (不過 wordpress 已內置支援 powerpoint 所以不用改,這個只是例子)
// $existing_mimes[‘ppt|pot|pps|pptx’] = ‘application/vnd.ms-powerpoint’;
// 如果想除去內置已經支援的格式,可以這樣改
// unset( $existing_mimes[‘exe’] );
// (如果想不支援 exe 請 del 上面的 ‘//’ ,我因為避免其他人直接抄而不小心除去 exe 所以這樣改
return $existing_mimes;
}
http://www.feedforall.com/mime-types.htm
http://webdesign.about.com/od/multimedia/a/mime-types-by-file-extension.htm
如果有一些特別的格式找不到可以 Google 一下應該可以找到的