WordPressのメディアマネージャーでは、ユーザーはメディアファイルのみをデフォルトでフィルタリングできます:画像、オーディオ、ビデオ。ただし、ドキュメント駆動型Webサイトなどの一部のWebサイトプロジェクトでは、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' );
このフィルタリングオプションは、メディアライブラリに少なくとも1つのPDFファイルが存在する限り、バックグラウンドメディア管理インターフェイスに表示されます。
PDFに加えて、同様の方法を使用して、他のMIMEタイプのフィルタリングサポートを追加することもできます。 WordPressによってサポートされるファイルタイプは、defaultで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ファイルのサポートを追加する場合は、アプリケーション/X-ShockWave-FlashをSLUGとして使用してください。
いくつかの簡単なコード行を使用すると、WordPress Media Managerの機能を大幅に強化して、特定のプロジェクトのニーズをよりよく満たすことができます。 PDF、ビデオ形式、またはその他のカスタムファイルタイプを追加しているかどうかにかかわらず、この方法は非常に効率的です。