在 WordPress 的媒体管理器中,用户默认只能按图像、音频和视频三种类型筛选媒体文件。然而在某些网站项目中,如文档驱动型网站,我们可能需要支持 PDF 等附加格式的筛选。
为了增强 WordPress 媒体库的可用性,我们可以使用 WordPress 提供的 post_mime_types 过滤器,来自定义支持的文件类型过滤条件。下面是具体实现方法。
以下代码将向媒体库的筛选器中添加 PDF 文件类型:
function modify_post_mime_types( $post_mime_types ) {
// 指定 MIME 类型:application/pdf
// 设置显示标签
$post_mime_types['application/pdf'] = array(
__( 'PDFs' ),
__( 'Manage PDFs' ),
_n_noop( 'PDF (%s)', 'PDFs (%s)' )
);
return $post_mime_types;
}
add_filter( 'post_mime_types', 'modify_post_mime_types' );
只要媒体库中存在至少一个 PDF 文件,该过滤选项就会在后台媒体管理界面中显示。
除了 PDF,你还可以使用类似的方法为其他 MIME 类型添加筛选支持。WordPress 默认支持的文件类型可以在 wp-includes/functions.php 文件中的 get_allowed_mime_types() 函数中找到。
以下是一些常见文件类型的 MIME 类型映射示例:
'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 文件的支持,只需使用 application/x-shockwave-flash 作为 slug 即可。
通过简单的几行代码,你就可以显著增强 WordPress 媒体管理器的功能,使其更好地满足特定项目需求。无论是添加 PDF、视频格式还是其他自定义文件类型,这种方法都非常高效。