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

通过functions.php添加.csl MIME类型无效(插件方式可正常工作)

解决WordPress子主题添加.csl MIME类型上传失败的问题

问题排查与修复方案

1. 提升过滤器优先级

WordPress的upload_mimes过滤器可能被其他主题/插件代码覆盖,尝试提高自定义函数的执行优先级(默认优先级为10,设为更高数值如99):

// 04082024 - Add .csl as mime type for upload
function custom_upload_mimes ( $existing_mimes ) {
    $existing_mimes['csl'] = 'application/vnd.citationstyles.style+xml';
    return $existing_mimes;
}
add_filter('upload_mimes', 'custom_upload_mimes', 99);

2. 补充兼容型MIME类型

部分服务器环境对标准CSL MIME类型识别存在差异,可同时添加备选类型:

// 04082024 - Add .csl as mime type for upload
function custom_upload_mimes ( $existing_mimes ) {
    $existing_mimes['csl'] = 'application/vnd.citationstyles.style+xml, text/xml, application/xml';
    return $existing_mimes;
}
add_filter('upload_mimes', 'custom_upload_mimes', 99);

3. 配置服务器端MIME规则

  • Apache服务器:在子主题目录的.htaccess文件中添加
AddType application/vnd.citationstyles.style+xml .csl
  • Nginx服务器:在站点配置文件中添加
types {
    application/vnd.citationstyles.style+xml csl;
}

4. 清除缓存后重试

修改代码或服务器配置后,清空WordPress缓存、浏览器缓存,再测试.csl文件上传。

5. 多站点模式额外处理

如果是WordPress多站点网络,需确保网络全局设置允许该文件类型,或在网络级别的functions.php中添加相同代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:08:11