ワードプレスのwp_read_image_metadata関数の使用方法・解説

概要

wp_read_image_metadata 関数は、指定された画像ファイルからメタ情報を読み取るために使用されます。この関数は、画像関連のプラグインやテーマを開発する際に非常に便利です。具体的には、以下のような機能を実装する際によく使われます。

  1. 画像のEXIF情報の取得
  2. 画像の撮影位置情報の表示
  3. メタデータに基づく画像のフィルタリング
  4. 画像の表示情報のカスタマイズ
  5. ソーシャルメディア用の情報の取得
  6. ギャラリー機能における画像情報の表示
  7. 画像の著作権情報の管理
  8. 画像を扱うカスタム投稿タイプの実装

構文

$metadata = wp_read_image_metadata( $file );

パラメータ

  • $file (string) – 読み込む画像ファイルのパス。

戻り値

  • (array|false) – 画像のメタデータの配列、または失敗した場合は false。

関連する関数

使用可能なバージョン

  • WordPress 2.5 以降で使用可能。

コアファイルのパス

  • 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: 画像メタデータの取得と表示

$file_path = 'path/to/your/image.jpg';
$metadata = wp_read_image_metadata($file_path);
if ($metadata) {
    echo 'タイトル: ' . esc_html($metadata['title']);
}

このサンプルコードは、指定された画像ファイルからメタデータを取得し、そのタイトルを表示します。

サンプルコード 2: EXIF情報の表示

$file_path = 'path/to/your/image.jpg';
$metadata = wp_read_image_metadata($file_path);
if (isset($metadata['exif'])) {
    foreach ($metadata['exif'] as $key => $value) {
        echo esc_html($key) . ': ' . esc_html($value) . '<br>';
    }
}

このコードは、画像ファイルのEXIF情報を取得して表示します。

サンプルコード 3: メタデータのチェック

$file_path = 'path/to/your/image.jpg';
$metadata = wp_read_image_metadata($file_path);
if ($metadata === false) {
    echo 'メタデータは見つかりませんでした。';
} else {
    echo 'メタデータが正常に取得されました。';
}

このサンプルは、メタデータの取得が成功したかどうかを確認し、その結果を表示します。

サンプルコード 4: 特定のキーのメタデータ取得

$file_path = 'path/to/your/image.jpg';
$metadata = wp_read_image_metadata($file_path);
if (isset($metadata['caption'])) {
    echo 'キャプション: ' . esc_html($metadata['caption']);
}

指定した画像のキャプションメタデータを取得し、表示します。

サンプルコード 5: 全メタデータの表示

$file_path = 'path/to/your/image.jpg';
$metadata = wp_read_image_metadata($file_path);
echo '<pre>' . esc_html(print_r($metadata, true)) . '</pre>';

画像ファイルから取得したすべてのメタデータをフォーマットして表示します。

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


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