概要
wp_get_image_mime
関数は、画像ファイルのMIMEタイプを取得するために使用されます。この関数は、開発者が媒体に関する情報を取得し、それに基づいて条件分岐や表示を行う際に便利です。以下のような機能を実装する際によく使われます。
- 画像の種類による表示内容の変更
- アップロードされた画像の検証
- メディアギャラリーでのファイルフィルタリング
- ダウンロードリンクの動的生成
- 画像のプレビュー表示における条件付け
- 画像処理フックへの適用
- ブロックエディター内での画像バリデーション
- カスタムテンプレートでの画像表示条件の設定
構文
wp_get_image_mime( $id );
パラメータ
$id
(整数): 画像のメディアファイルのID。これはWordPressにアップロードされた画像の一意の識別子です。
戻り値
- 文字列: 画像ファイルのMIMEタイプを返します。例えば、
image/jpeg
、image/png
などです。指定したIDが画像でない場合や存在しない場合は、false
を返します。
関連する関数
バージョン情報
- この関数は、WordPress 4.6.0以降で使用可能です。
コアファイルのパス
wp-includes/media.php
サンプルコード
サンプル1: 特定の画像IDのMIMEタイプを取得する
$image_id = 123; // 取得したい画像のIDを指定
$mimetype = wp_get_image_mime( $image_id );
echo 'MIME Type: ' . $mimetype; // 取得したMIMEタイプを表示
このサンプルコードは、指定した画像IDのMIMEタイプを取得し、表示するものです。
サンプル2: 画像を条件によって表示する
$image_id = 456;
$mimetype = wp_get_image_mime( $image_id );
if ( $mimetype === 'image/jpeg' ) {
echo '<img src="' . wp_get_attachment_url( $image_id ) . '" alt="JPEG Image">';
}
このサンプルコードは、画像がJPEGである場合のみ、その画像を表示します。
サンプル3: メディアライブラリ内でのフィルタリング
function filter_media_by_mime_type( $query ) {
if ( ! is_admin() ) return;
$query->set( 'post_mime_type', 'image/png' ); // PNG画像だけを表示
}
add_action( 'pre_get_posts', 'filter_media_by_mime_type' );
このサンプルコードは、メディアライブラリでPNG画像だけを表示するようにクエリをフィルタリングします。
サンプル4: 画像アップロード時の確認
function check_image_mime( $file ) {
$mime = wp_get_image_mime( $file['id'] );
if ( ! $mime ) {
return array('error' => 'Invalid image type.');
}
return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'check_image_mime' );
このサンプルコードは、画像がアップロードされる際にMIMEタイプを確認し、無効な場合はエラーメッセージを返します。
サンプル5: 投稿内の画像を取得し、そのMIMEタイプを表示
function display_post_images_mime() {
$attachments = get_posts(array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'numberposts' => -1
));
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
echo 'Image ID: ' . $attachment->ID . ' - MIME Type: ' . wp_get_image_mime( $attachment->ID ) . '<br>';
}
}
}
このサンプルコードは、すべての投稿内の画像を取得し、それぞれの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 |
非推奨または削除されたバージョン
- 特に非推奨または削除されたバージョンはありません。