概要
get_available_post_mime_typesフィルタは、投稿タイプで利用可能なすべての投稿MIMEタイプを取得するために使用されます。このフィルタを利用することで、特定の投稿タイプに対応するMIMEタイプをカスタマイズしたり、拡張したりすることができます。よく使われるケースには以下が含まれます。
- カスタム投稿タイプに特定のファイル形式を追加する
- メディアライブラリに表示される許可されたファイル形式を変更する
- 特定のプラグインが追加したMIMEタイプをフィルタリングする
- 新しいMIMEタイプをプラグインやテーマで登録する
- 投稿エディタで利用可能なファイル形式を変更する
- ユーザーがアップロードできるファイルタイプを制限する
- 不要なMIMEタイプを削除する
- マルチサイト環境でのMIMEタイプの管理
構文
add_filter( 'get_available_post_mime_types', 'callback_function' );
パラメータ
array $mimes: 現在利用可能なMIMEタイプの配列。
戻り値
array: カスタマイズされた利用可能なMIMEタイプの配列を返します。
関連する関数
使用可能なバージョン
このフィルタはWordPress 3.5.0以降で利用可能です。
コアファイルのパス
wp-includes/media.php
この関数のアクションでの使用可能性
| アクション | 使用可能 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | 〇 |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
サンプルコード1: カスタム投稿タイプにMIMEタイプを追加
add_filter( 'get_available_post_mime_types', 'add_custom_mime_types' );
function add_custom_mime_types( $mimes ) {
$mimes['my_type'] = 'custom/mime';
return $mimes;
}
説明: このコードは、カスタムMIMEタイプcustom/mimeを追加します。
サンプルコード2: 特定のMIMEタイプを削除
add_filter( 'get_available_post_mime_types', 'remove_unused_mime_types' );
function remove_unused_mime_types( $mimes ) {
unset( $mimes['text/markdown'] );
return $mimes;
}
説明: このコードは、既存のtext/markdown MIMEタイプを削除します。
サンプルコード3: JPEG画像を追加する
add_filter( 'get_available_post_mime_types', 'add_jpeg_mime' );
function add_jpeg_mime( $mimes ) {
$mimes['image/jpeg'] = 'JPEG画像';
return $mimes;
}
説明: このコードは、JPEG画像用のMIMEタイプを追加しています。
サンプルコード4: MIMEタイプのリストを表示
add_filter( 'get_available_post_mime_types', 'list_all_mime_types' );
function list_all_mime_types( $mimes ) {
foreach( $mimes as $type => $description ) {
echo $type . ': ' . $description . '<br>';
}
return $mimes;
}
説明: このコードは、登録されているすべてのMIMEタイプをリスト形式で表示します。
サンプルコード5: 動画ファイル形式を追加
add_filter( 'get_available_post_mime_types', 'add_video_mime' );
function add_video_mime( $mimes ) {
$mimes['video/mp4'] = 'MP4動画';
return $mimes;
}
説明: このコードは、MP4動画用のMIMEタイプを追加します。