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

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

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

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

实例:添加 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 媒体管理可以识别更多的多媒体文件类型

增加其他类型文件

同样的,只要是 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 媒体文件识别了吧。

在线客服