ワードプレスのwp_get_mime_typesフィルタの使用方法・解説

概要

wp_get_mime_types フィルタは、WordPressのMIMEタイプのリストを取得するために使用されます。このフィルタを利用することで、アップロードするファイルの種類を制御したり、カスタムMIMEタイプを追加したりすることが可能です。また、MIMEタイプに基づいて特定のメディアファイルを表示するカスタマイズも行えます。

このフィルタは、以下のような機能を実装する際によく使われます。

  1. カスタムMIMEタイプの追加
  2. AdobeファイルやOfficeファイルなどの特殊なMIMEタイプのサポート
  3. アップロード制限を設定するためのカスタムフィルタリング
  4. 特定のプラグインやテーマの要件に応じてMIMEタイプを変更
  5. エディタやギャラリーで表示されるメディアの種類の拡張
  6. セキュリティ上の理由からの不要なMIMEタイプの削除
  7. カスタム投稿タイプでのメディア管理を容易にする
  8. フロントエンドでの特定のファイル形式の処理

構文

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バージョンで非推奨または削除された情報はありません。

この関数について質問する


上の計算式の答えを入力してください