wordpress的媒体库能支持上传的文件类型非常有限,比如说这个:

如果有需要上传媒体库不支持的文件时候,有以下几种办法:

  1. 直接把文件扔到wordpress的wp-content/uploads/文件夹下面,或者要稍微规范点就建立以年月为文件夹名称的文件夹(纯属好看)。
  2. 修改wordpress的wp-include/function.php文件,在里面添加这么几行保存即可:

    add_filter(‘upload_mimes’, ‘wpdit_filter_mime_types’);
    function wpdit_filter_mime_types($mimes)
    {
    $mimes[‘ttf’] = ‘font/ttf’;
    $mimes[‘woff’] = ‘font/woff’;
    //还可以添加更多的文件类型,对应的mine类型可以百度
    return $mimes;
    }

    这么做的缺点是,每次wp更新后都要重新再配置一遍。。。

  3. 利用插件来完成这项工作。很遗憾,到目前为止我还没见过哪个好用的插件,能够兼容当前的wordpress版本。如果有非常好用的插件,欢迎留言

这里要注意一个问题,如果要对上传的文件进行外链的话,需要在http服务器上配置mime,添加上对应的类型,才可进行外链

百度上面有一些“不”靠谱的说法,我现在摘抄下来,免得让后来人走弯路:

  1. 打开网站的“wp-config.php”文件,查找:

    define(’DB_COLLATE’, ”);

    在这下面添加:

    define(’ALLOW_UNFILTERED_UPLOADS’, true);

    保存即可。
    这种方法是让系统跳过上传文件的类型检测,好处:方便快捷,改动较小。弊端:跳过检测后可能会带来安全隐患,此种方法不推荐使用。

    点评:这种方法经过尝试,在当前版本的wp中无效,所以也不用浪费时间去这么做了

  2. 链接FTP,打开wp-includes/functions.php文件,查找:’zip’ => ‘application/zip’, 在下面一行输入 ‘rar’ => ‘application/rar’, 。如果需要添加其他类型的上传,方法一样。
    这种方法是添加可上传的文件类型,好处:直接让程序允许某种类型文件上传,不会对网站造成任何影响。弊端:每次升级后都需要修改。推荐使用此种方法。

    点评:这个也试过了,都不知道是什么版本的wp能用的了,反正我用了无效

  3. 待发现

=====================不优雅的分割线=============================

有位仁兄发现自己无法上传swf,提示 “抱歉,出于安全的考虑,不支持此文件类型”,他给出的解决方案是http://www.gaohaipeng.com/2802.html