我尝试了一些插件来添加mime类型,包括PJW Mime Config 插件。并将此添加到主题functions.php
对于非WPMS站点,该文件也可以正常工作。但我需要这些在整个网络中都是允许的。
因此,我编写了自己的插件来实现这一目的。在查看了codex的信息以及一些博客帖子和this WPSE question. 这就是我想到的:
function new_mime_types($mimes) {
$mimes = array_merge($mimes, array(
\'pdf\' => \'application/pdf\',
\'zip\' => \'multipart/x-zip\'
//add your ext => mime to the array
//there are a LOT more, but to save space I\'ve left the rest out :)
));
return $mimes;
}
// Hook
add_filter(\'upload_mimes\', \'new_mime_types\');
现在,当我上传其中一种文件类型时,会收到一条警告:
Warning: 无法修改标头信息-标头已由(输出开始于[服务器]\\wp content\\plugins\\tps mime types.php:1)发送[server]\\wp-includes\\pluggable.php 在…上line 934.
我对WP还是新手,所以对下一步做什么有什么建议吗?
Note: 还有,我想把这个标记为upload-mimes 和mime-types, 但没有代表:)
我已将插件更新为以下代码:
function new_mimes($mimes) {
// add your mime to the txt file below
// same formating and no spaces
// mime-types.txt file set up like this...
// pdf|application/pdf
// zip|multipart/x-zip
$file = "/tps-mime-types/mime-types.txt";
$contents = file_get_contents( plugins_url( $file ) );
$contents = str_replace( "\\r", "|", $contents );
$contents = str_replace( "\\n", "|", $contents );
$mime_types = explode( "|", $contents );
$counter=0;
foreach ( $mime_types as $ext_app ) {
if( !isset( $ext_app[0] ) ) $ext_app[0] = $ext_app[1];
$counter++;
}
// return the new full result
return $mimes;
}
add_filter(\'upload_mimes\', \'new_mimes\');
但是,在WPMS安装中激活插件后,我已经安装了一段时间,而且只安装了一次,但我仍然遇到了问题。激活后:
插件生成了3个字符unexpected output 激活期间。如果您注意到“headers ready sent”消息、联合提要问题或其他问题,请尝试停用或删除此插件。
然后,当我尝试上载与新mime类型之一匹配的文件时,我收到了原始错误消息:
Warning: 无法修改标头信息-标头已由(输出开始于[服务器]\\wp-content\\plugins\\tps-mime-types\\tps-mime-types.php:1)在中发送[server]\\wp-includes\\pluggable.php 在…上line 934
有什么想法吗?