概要
wp_get_mime_types フィルタは、WordPressのMIMEタイプのリストを取得するために使用されます。このフィルタを利用することで、アップロードするファイルの種類を制御したり、カスタムMIMEタイプを追加したりすることが可能です。また、MIMEタイプに基づいて特定のメディアファイルを表示するカスタマイズも行えます。
このフィルタは、以下のような機能を実装する際によく使われます。
- カスタムMIMEタイプの追加
- AdobeファイルやOfficeファイルなどの特殊なMIMEタイプのサポート
- アップロード制限を設定するためのカスタムフィルタリング
- 特定のプラグインやテーマの要件に応じてMIMEタイプを変更
- エディタやギャラリーで表示されるメディアの種類の拡張
- セキュリティ上の理由からの不要なMIMEタイプの削除
- カスタム投稿タイプでのメディア管理を容易にする
- フロントエンドでの特定のファイル形式の処理
構文
add_filter('wp_get_mime_types', 'custom_mime_types');
パラメータ
$mimes: 現在のMIMEタイプの配列。
戻り値
- 修正されたMIMEタイプの配列。
関連する関数
このフィルタを使用可能なバージョン
- WordPress 3.0以降
コアファイルのパス
wp-includes/functions.php
サンプルコード
サンプルコード 1: カスタムMIMEタイプの追加
add_filter('wp_get_mime_types', 'add_custom_mime_type');
function add_custom_mime_type($mimes) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
このコードは、SVGファイルのMIMEタイプを追加する例です。これにより、SVGファイルを WordPressにアップロードできるようになります。
サンプルコード 2: 不要なMIMEタイプの削除
add_filter('wp_get_mime_types', 'remove_unwanted_mime_type');
function remove_unwanted_mime_type($mimes) {
unset($mimes['text/x-php']);
return $mimes;
}
このコードは、PHPファイルのMIMEタイプをリストから削除します。セキュリティ向上のための措置です。
サンプルコード 3: OfficeファイルのMIMEタイプを追加
add_filter('wp_get_mime_types', 'add_office_mime_types');
function add_office_mime_types($mimes) {
$mimes['doc'] = 'application/msword';
$mimes['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
return $mimes;
}
このコードはWord文書のMIMEタイプを追加します。
サンプルコード 4: オーディオファイルのMIMEタイプを追加
add_filter('wp_get_mime_types', 'add_audio_mime_types');
function add_audio_mime_types($mimes) {
$mimes['mp3'] = 'audio/mpeg';
return $mimes;
}
このコードではMP3ファイルのMIMEタイプをWordPressに追加します。
サンプルコード 5: 動画ファイルのMIMEタイプを追加
add_filter('wp_get_mime_types', 'add_video_mime_types');
function add_video_mime_types($mimes) {
$mimes['mp4'] = 'video/mp4';
return $mimes;
}
このコードはMP4ファイルのMIMEタイプを追加します。
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| 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 |
wp_get_mime_typesフィルタは特定のWordPressバージョンで非推奨または削除された情報はありません。