默认状态下,WordPress 媒体管理只能识别出三种类型的多媒体文件:图片 (Image),视频 (Video) 和音频 (Audio)。有的站点需要用到很多别的附件,比如 PDF。有没有办法做到呢?当然可以,只需要使用一个简单的过滤钩子(Filter Hook)就可以实现。如何让 WordPress 媒体管理可以识…

默认状态下,WordPress 媒体管理只能识别出三种类型的多媒体文件:图片 (Image),视频 (Video) 和音频 (Audio)。有的站点需要用到很多别的附件,比如 PDF。有没有办法做到呢?当然可以,只需要使用一个简单的过滤钩子(Filter Hook)就可以实现。

如何让 WordPress 媒体管理可以识别更多的多媒体文件类型

实例:添加 PDF 识别

为了达到这个目的,将会使用到 post_mime_types 这个过滤器。

还会用到 mime type slug,而 PDF 的 slug 是 application/pdf,然后就来给这个参数定义,该参数包含这种文件的文本标签。

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 variablereturn $post_mime_types;}// Add Filter Hookadd_filter( 'post_mime_types', 'modify_post_mime_types' );

好了,这样 PDF 文件就可以在媒体管理里面识别出来了

增加其他类型文件

同样的,只要是 WordPress 支持的类型都可以这样做。支持了类型可以在 wp-includes/functions.php 里面找到。

然后在 get_allowed_mime_types() 里可以找到详细的支持类型。

通过搜索 get_allowed_mime_types() 可以找到你需要的文件的 slug 。

WordPress 支持的文件类型有很多,就不一一列举了,但还是给个例子大家参考下吧。

‘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 媒体文件识别了吧。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。