默认状态下,WordPress 媒体管理只能识别出三种类型的多媒体文件:图片 (Image),视频 (Video) 和音频 (Audio)。有的站点需要用到很多别的附件,比如 PDF。有没有办法做到呢?当然可以,只需要使用一个简单的过滤钩子(Filter Hook)就可以实现。
目录导航
实例:添加 PDF 识别
为了达到这个目的,将会使用到 post_mime_types
这个过滤器。
还会用到 mime type slug
,而 PDF 的 slug 是 application/pdf
,然后就来给这个参数定义,该参数包含这种文件的文本标签。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
function modify_post_mime_types( $post_mime_types ) { // select the mime type, here: 'application/pdf' // then we define an array with the label values $post_mime_types [ 'application/pdf' ] = array ( __( 'PDFs' ), __( 'Manage PDFs' ), _n_noop( 'PDF <span>(%s)</span>' , 'PDFs <span>(%s)</span>' ) ); // then we return the $post_mime_types variable return $post_mime_types ; } // Add Filter Hook add_filter( 'post_mime_types' , 'modify_post_mime_types' ); |
好了,这样 PDF 文件就可以在媒体管理里面识别出来了,如图:
增加其他类型文件
同样的,只要是 WordPress 支持的类型都可以这样做。支持了类型可以在 wp-includes/functions.php
里面找到。
然后在 get_allowed_mime_types()
里可以找到详细的支持类型。
通过搜索 get_allowed_mime_types()
可以找到你需要的文件的 slug
。
WordPress 支持的文件类型有很多,就不一一列举了,但还是给个例子大家参考下吧。
1
2
3
4
5
6
7
|
'pdf' => 'application/pdf' , 'swf' => 'application/x-shockwave-flash' , 'mov|qt' => 'video/quicktime' , 'flv' => 'video/x-flv' , 'js' => 'application/javascript' , 'avi' => 'video/avi' , 'divx' => 'video/divx' , |
正如你所看到的,Flash 文件 .swf
的 slug 是 application/x-shockwave-flash
。
本教程就到这里了,我想新手朋友们也应该学会如何添加 WordPress 媒体文件识别了吧。