WordPress媒体库默认支持的类型并不是很多,默认也就支持图片、视频和音频,但是因为用WordPress做各式各样的网站太多了,而用于什么做什么网站可能就需要WordPress媒体库支持更多类型,媒体库允许上传的文件种类众多,需要更细化的分类,比如pdf文件。

WordPress媒体库支持pdf分类

将代码放到主题的functions.php中


function modify_post_mime_types( $post_mime_types ) {
 
    // 选择mime类型,这里用: 'application/pdf'
    // 然后扩充数组,定义label的文字
 
    $post_mime_types['application/pdf'] = array( __( 'PDFs' ), __( 'Manage PDFs' ),
_n_noop( 'PDF <span class="count">(%s)</span>', 'PDFs <span class="count">(%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中有写,搜索一下
function get_allowed_mime_types()
就可以找到这些类型


'jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
'bmp' => 'image/bmp',
'tif|tiff' => 'image/tiff',
'ico' => 'image/x-icon',
'asf|asx|wax|wmv|wmx' => 'video/asf',
'avi' => 'video/avi',
'divx' => 'video/divx',
'flv' => 'video/x-flv',

找到自己需要的类型,按照


$post_mime_types['application/pdf'] = array( __( 'PDFs' ), __( 'Manage PDFs' ),
_n_noop( 'PDF <span class="count">(%s)</span>', 'PDFs <span class="count">(%s)</span>' ) );

以上的写法,将‘application/pdf’替换成需要的mime类型即可,后面的文字也要相应改一改。这是php中增加数组成员的方式,你当然可以增加更多数组元素实现支持多个自定义类型。

瑞课支付