在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、視頻格式還是其他自定義文件類型,這種方法都非常高效。