概要
wp_get_avif_info
関数は、AVIFファイルのメタ情報を取得するために使用されます。この関数を利用することで、画像のサイズや著作権情報、作成日などの詳細なデータを容易に取得することができます。この関数は主に以下のような機能を実装する際によく使われます。
- AVIF形式の画像のメタ情報を取得する
- 画像ギャラリーの表示時にメタデータを表示する
- 画像の最適化情報を取得する
- サムネイルの生成時にメタ情報を利用する
- メディアライブラリのカスタマイズ
- 画像の著作権情報を表示する機能
- 特定の条件での画像フィルタリング
- AVIF画像のアップロード時の情報取得
構文
wp_get_avif_info( string $file );
パラメータ
$file
(string): メタ情報を取得するAVIFファイルのパス。
戻り値
- 戻り値は、AVIFファイルのメタ情報に関する連想配列または
false
です。メタ情報が取得できなかった場合はfalse
が返されます。
関連する関数
使用可能なバージョン
wp_get_avif_info
関数は、WordPress 5.8以降で利用可能です。
コアファイルのパス
この関数は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: AVIFメタ情報の取得
$file = '/path/to/image.avif';
$avif_info = wp_get_avif_info($file);
if ($avif_info) {
echo 'AVIF Image Size: ' . $avif_info['size'];
}
このサンプルコードは、指定したAVIFファイルのサイズを取得し、表示します。
サンプルコード 2: メディアライブラリでの表示
function display_avif_meta() {
$attachments = get_posts(array('post_type' => 'attachment', 'post_mime_type' => 'image/avif'));
foreach ($attachments as $attachment) {
$avif_info = wp_get_avif_info(get_attached_file($attachment->ID));
echo 'File: ' . $attachment->post_title . ', Size: ' . $avif_info['size'];
}
}
add_action('wp_footer', 'display_avif_meta');
このサンプルコードは、メディアライブラリ内のすべてのAVIF画像のメタ情報を取得し、ページのフッターに表示します。
サンプルコード 3: AVIF 画像の最適化レポート
$file = '/path/to/image.avif';
$avif_info = wp_get_avif_info($file);
if ($avif_info && $avif_info['quality'] < 80) {
echo 'Consider optimizing this image for better performance.';
}
このサンプルコードは、AVIF画像の品質が80未満である場合、最適化を検討するように促します。
サンプルコード 4: カスタムフィルタリング機能
add_filter('wp_handle_upload_prefilter', function($file) {
if (strpos($file['name'], '.avif') !== false) {
$info = wp_get_avif_info($file['tmp_name']);
if ($info['size'] > 2048000) {
$file['error'] = 'AVIF image size exceeds 2MB.';
}
}
return $file;
});
このサンプルコードは、アップロード時にAVIF画像のサイズを制限します。2MBを超える場合、エラーメッセージを表示します。
サンプルコード 5: AVIFメタ情報を利用した表示
$file = '/path/to/image.avif';
$avif_info = wp_get_avif_info($file);
if ($avif_info) {
printf('AVIF Image - Width: %d, Height: %d', $avif_info['width'], $avif_info['height']);
}
このサンプルコードは、AVIF画像の幅と高さを取得して表示する例です。