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

概要

get_available_post_mime_typesフィルタは、投稿タイプで利用可能なすべての投稿MIMEタイプを取得するために使用されます。このフィルタを利用することで、特定の投稿タイプに対応するMIMEタイプをカスタマイズしたり、拡張したりすることができます。よく使われるケースには以下が含まれます。

  1. カスタム投稿タイプに特定のファイル形式を追加する
  2. メディアライブラリに表示される許可されたファイル形式を変更する
  3. 特定のプラグインが追加したMIMEタイプをフィルタリングする
  4. 新しいMIMEタイプをプラグインやテーマで登録する
  5. 投稿エディタで利用可能なファイル形式を変更する
  6. ユーザーがアップロードできるファイルタイプを制限する
  7. 不要なMIMEタイプを削除する
  8. マルチサイト環境での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タイプを追加します。

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


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