因为安全原因 WordPress默认仅允许上传特定的几种文件类型。本文中魏艾斯笔记会分享什么是 MIME 文件类型以及允许WordPress上传 JSON文件的三种方法。
一、MIME 文件类型介绍
也叫多用途互联网邮件扩展类型,用于在 Web访问中决定如何处理文件。
MIME 文件类型的组成:类型和子类型,用“/”分隔。
比如常见的 MIME 类型有“application/json”、“image/png”和“text/html”。
WordPress 默认允许的 MIME 文件类型
- 声音:.mp3 .m4a .ogg .wa
- 文件:.pdf .doc,.docx .ppt、.pptx、.pps、.ppsx .odt .xls、.xlsx .psd
- 图片:.jpg .JPEG .png .gif .ico
- 视频:.mp4 .m4v .mov .wmv .avi .mpg .ogv .3gp .3g2
二、上传JSON文件的三种方法
1、wp-config.php
在 wp-config.php 文件(网站根目录)中添加如下代码,允许管理员级别的用户上传所有文件类型。
define(‘ALLOW_UNFILTERED_UPLOADS’, true);
因为这条代码允许上传所有文件类型,因此有安全方面的隐患考虑。
2、functions.php
在主题 function.php 文件中添加以下代码:
function add_upload_mimes( $types ) {
$types[‘json’] = ‘text/plain’;
return $types;
}
add_filter( ‘upload_mimes’, ‘add_upload_mimes’ );
3、插件上传 JSON 文件
以 WP Add Mime Types插件为例讲解。
- 安装启用插件后进入设置 > MIME 类型设置
- 在“添加值”设置中添加:json = application/json
- 保存
- 检查是否已添加到“ WordPress 允许的 mime 类型和文件扩展名列表”

另外有相似功能的插件:WP Extra File Types,WP Media File Type Manager 等。
三、Elementor允许 json文件
Elementor插件自带允许 json功能,位置在插件设置>高级设置,启用未过滤的文件上载。
在这里启用就无需使用上面提到的方法了。

四、总结
- wp-config.php:这种方法允许上传所有未知文件,有一定风险,慎用;
- functions.php:主题更新后会被覆盖掉;
- 插件上传 JSON文件:可以指定开启某个文件格式,比较安全。