4 回答
TA贡献1865条经验 获得超7个赞
由于 PHP 确定 json 文件的 mime 类型text/plain
,正确的解决方案是:
function my_mime_types($mimes) {
$mimes['json'] = 'text/plain';
return $mimes;
}
add_filter('upload_mimes', 'my_mime_types');
TA贡献1848条经验 获得超2个赞
在原始代码中,您声明了新的 mime 类型$mime_types,但不对其执行任何操作,而是返回原始的未更改的类型$mimes。
至于您的工作解决方案,您可以仅使用一个函数,如下所示:
function cc_mime_types($mimes) {
$mimes['json'] = 'application/json';
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter('upload_mimes', 'cc_mime_types');
TA贡献1155条经验 获得超0个赞
我只是添加了两个不同的函数而不是数组,并且由于某种原因它起作用了。
function json_mime_types($mimes) {
$mimes['json'] = 'application/json';
return $mimes;
}
add_filter('upload_mimes', 'json_mime_types');
function cc_mime_types($mimes) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter('upload_mimes', 'cc_mime_types');
``
TA贡献1887条经验 获得超5个赞
如果这对任何人有帮助,如果您使用 WordPress Multisite,其中需要首先在“网络管理”->“设置”中声明子站点允许的文件类型列表,则ALLOW_UNFILTERED_UPLOADS
常量或upload_mimes
过滤器都不会自行工作WordPress 中的页面。显然,您的 WordPress 用户需要足够的权限才能看到此设置页面。
根据我的经验,一旦您添加json
到此列表中,upload_mimes
过滤器就会按预期工作。
- 4 回答
- 0 关注
- 151 浏览
添加回答
举报