You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress插件中无法上传WMA文件问题求助

解决WordPress无法上传.wma文件的问题

你已经通过upload_mimes过滤器添加了.wma的MIME类型,但仍无法上传,可能是以下原因导致,对应解决方案如下:

1. 修正WordPress的文件类型检测逻辑

WordPress会通过fileinfo扩展检测文件实际MIME类型,可能和你设置的audio/x-ms-wma不匹配。可以添加wp_check_filetype_and_ext过滤器强制识别.wma文件:

add_filter('wp_check_filetype_and_ext', function($data, $file, $filename, $mimes) {
    $file_ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
    if ($file_ext === 'wma') {
        return [
            'ext' => 'wma',
            'type' => 'audio/x-ms-wma',
            'proper_filename' => $filename
        ];
    }
    return $data;
}, 10, 4);

2. 检查多站点环境的额外限制

如果你的WordPress是多站点模式,需要确认网络管理后台的设置 > 上传设置里是否允许.wma文件;也可以用site_option_upload_filetypes过滤器添加该类型:

add_filter('site_option_upload_filetypes', function($types) {
    if (strpos($types, 'wma') === false) {
        $types .= ' wma';
    }
    return $types;
});

3. 排查安全插件的拦截

诸如Wordfence、iThemes Security这类安全插件通常会有独立的上传文件类型白名单,需要进入插件设置页面,将.wma添加到允许上传的列表中。

4. 补充备选MIME类型

部分服务器对.wma的MIME识别可能是audio/wma而非audio/x-ms-wma,可以修改upload_mimes中的设置,同时支持两种类型:

$mimes['wma'] = ['audio/x-ms-wma', 'audio/wma'];

内容的提问来源于stack exchange,提问作者alancc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 11:37:13