默认情况下,WordPress 媒体管理器仅允许您按三种类型过滤媒体;图像、视频和音频。
我目前正在开发的网站会使用很多PDF附件,所以我想在媒体管理器中添加PDF过滤功能。
我发现可以使用简单的过滤器挂钩将额外的文件类型过滤添加到媒体管理器中。
示例;添加 PDF
为了实现这一目标,我们将使用“post_mime_types
”过滤器。
在我们的函数中,我们将使用 mime 类型 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 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 文件的选项(只要您的媒体库中至少有一份 PDF)
其他文件类型
您可以对 WordPress 支持的任何文件执行此操作。支持的文件类型由 WordPress 在 wp-includes/functions.php
中定义默认支持的文件类型在 get_allowed_mime_types()
函数中定义。
要查找您要查找的文件类型的slug,只需在 wp-includes/functions.php 中搜索“get_allowed_mime_types()
”
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 媒体管理器中的文件类型,您有什么建议吗?在下面的评论中分享它们!