如何将新的mime类型添加到WordPress

主页 \ 影音播放 \ 如何将新的mime类型添加到WordPress
最后更新:
浏览量: 6
作者:
分类:影音播放
评论: 0

我刚开始在我的网站上使用 HTML5 视频,但当我尝试将.webm 文件上传到 WordPress 的媒体管理器时,它向我显示了以下错误:

 

WEBM 文件上传错误

 

事实证明,默认情况下,WordPress 没有.webm作为其允许的 mime 类型的一部分,因此我们需要自己添加它。

快速搜索 WordPress 核心文件会将我们带到wp-includes / functions.php 中wp_get_mime_types() 函数。 在这个函数中,在 1887 行,WordPress 为我们提供了一个名为mime_types的过滤器,完美无缺。

 

WP-GET-MIME 类型

 

现在我们有了一个合适的过滤器,我们只需要挂钩并将新的 mime 类型添加到现有的 mime 类型数组中。 我在这个例子中添加了webm ,但如果你需要添加另一个 mime 类型,你只需用自己的值替换值。 将以下内容添加到您的 functions.php 中:

function my_theme_custom_upload_mimes( $existing_mimes ) {
	// add webm to the list of mime types
	$existing_mimes['webm'] = 'video/webm';
	// return the array back to the function with our added mime type
	return $existing_mimes;
}
add_filter( 'mime_types', 'my_theme_custom_upload_mimes' );

注意:关于此主题的许多教程都建议使用upload_mimes过滤器,但是如果你不小心,你实际上会替换整个 mime 类型数组,而不是添加它。 这意味着您将无法上传任何文件类型,而是您添加的文件类型! 不完全是我们想要的。

如果你想仔细检查一切正常,只需使用像 template_redirect 这样的 WordPress 动作钩子将 wp_get_mime_types()函数的内容直接转储到你的页面:

function my_theme_output_upload_mimes() { var_dump( wp_get_mime_types() ); } add_action( 'template_redirect', 'my_theme_output_upload_mimes' ); 

刷新你的网站,你会看到 mime 类型数组(真的很长)添加了新的 mime 类型。

新的 mime 类型数组
我们新的.webm mime 类型,添加到现有的 mime 类型数组中

当然,要真正测试一切是否按预期工作,请将文件上传到媒体管理器,现在应该可以完美地上传。

您也可以使用插件来获得相同的结果: http://wordpress.org/plugins/wp-add-mime-types/

相关文章

大神,别默默的看了,快来点评一下吧!:)