当前位置: 首页> 最新文章列表> 如何在 WordPress 媒体库中添加自定义文件类型过滤功能(以 PDF 为例)

如何在 WordPress 媒体库中添加自定义文件类型过滤功能(以 PDF 为例)

M66 2025-06-23

WordPress 默认媒体筛选功能的限制

在 WordPress 的媒体管理器中,用户默认只能按图像、音频和视频三种类型筛选媒体文件。然而在某些网站项目中,如文档驱动型网站,我们可能需要支持 PDF 等附加格式的筛选。

目标:为媒体库添加 PDF 类型的过滤功能

为了增强 WordPress 媒体库的可用性,我们可以使用 WordPress 提供的 post_mime_types 过滤器,来自定义支持的文件类型过滤条件。下面是具体实现方法。

实现方法:通过过滤器添加 PDF 支持

以下代码将向媒体库的筛选器中添加 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、视频格式还是其他自定义文件类型,这种方法都非常高效。