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

主页 \ WordPress教程 \ 影音播放 \ 如何将新的mime类型添加到WordPress
最后更新:
浏览量: 940
作者:
分类:影音播放
评论: 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/

相关文章

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

微信
添加站长微信

微信扫一扫,联系我们

关注
关注公众号

关注微信公众号