概要
wp_is_heic_image_mime_type 関数は、与えられたMIMEタイプがHEICまたはHEIF画像であるかどうかを調べるために使用されます。主に以下のような機能を実装する際によく使われます。
- アップロードされた画像の検証
- 画像処理プラグインの作成
- メディアライブラリのカスタマイズ
- 画像最適化機能の実装
- マルチメディアコンテンツの管理
- CMS機能の拡張
- テーマやプラグインの互換性チェック
- 画像フォーマットの変換機能の実装
構文
wp_is_heic_image_mime_type( $mime_type );
パラメータ
$mime_type: (string) チェックするMIMEタイプを指定します。
戻り値
- (bool) 指定したMIMEタイプがHEIC/HEIF画像の場合は
true、そうでない場合はfalse。
関連する関数
使用可能なバージョン
wp_is_heic_image_mime_type 関数は、WordPress 5.8以降で使用可能です。
コアファイルのパス
wp-includes/variations.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タイプを検証
$mime_type = 'image/heic';
if ( wp_is_heic_image_mime_type( $mime_type ) ) {
echo 'これはHEIC画像です。';
} else {
echo 'これはHEIC画像ではありません。';
}
このサンプルコードは、指定したMIMEタイプがHEIC画像かどうかをチェックして、その結果を表示しています。
サンプルコード2: ユーザーのアップロードされたファイルを検証
add_action('wp_handle_upload_prefilter', 'validate_heic_upload');
function validate_heic_upload($file) {
if ( wp_is_heic_image_mime_type( $file['type'] ) ) {
// HEIC画像の処理
} else {
// エラーメッセージを表示
$file['error'] = 'HEIC画像のみアップロード可能です。';
}
return $file;
}
このコードは、ユーザーがアップロードするファイルがHEIC画像であるかを確認し、そうでない場合はエラーメッセージを表示します。
サンプルコード3: カスタムメディアライブラリのフィルタリング
add_filter('wp_handle_upload', 'filter_heic_media_upload');
function filter_heic_media_upload($upload) {
if ( wp_is_heic_image_mime_type( $upload['type'] ) ) {
// HEIC画像に特別な処理を追加
}
return $upload;
}
このサンプルでは、メディアライブラリにアップロードされるHEIC画像に特別な処理をするためのフィルタを追加します。
サンプルコード4: 画像エディタでの利用
function image_editor_heic_support($mime_types) {
if ( wp_is_heic_image_mime_type( 'image/heic' ) ) {
// 画像エディタにHEICを追加
$mime_types['heic'] = 'image/heic';
}
return $mime_types;
}
add_filter('image_editor_output_format', 'image_editor_heic_support');
このコードは、画像エディタでHEIC画像をサポートするためのものです。
サンプルコード5: テーマ内のHEIC画像の表示
function display_heic_image($image_url) {
$mime_type = wp_check_filetype($image_url)['type'];
if ( wp_is_heic_image_mime_type( $mime_type ) ) {
echo '<img src="' . esc_url($image_url) . '" alt="HEIC Image" />';
} else {
echo 'この画像はHEICフォーマットではありません。';
}
}
このサンプルは、テーマ内でHEIC画像を表示する関数を定義しています。指定したURLがHEICフォーマットかどうかを確認します。