概要
wp_update_attachment_metadata
アクションは、メディア(添付ファイル)のメタ情報を更新する際に使用されます。このアクションは、メディアがアップロード・更新された後にそのメタ情報(例えば、画像のサイズやメタデータなど)を処理するために呼び出されます。具体的には、以下のような機能を実装する際に使用されることがよくあります。
- カスタムメタデータの保存
- 画像のサイズやフィルタリング条件の追加
- 特定のメディアタイプに対するメタ情報の操作
- メディアアップロード後の自動処理
- サムネイル生成後の情報更新
- メタ情報のアクションフックによる改善
- メディアのパフォーマンス最適化
- 追加フィールドの連携や更新
構文
do_action('wp_update_attachment_metadata', $attachment_id, $metadata);
パラメータ
$attachment_id
: 更新されるメディアファイルのID。$metadata
: 更新後のメタ情報を含む配列。
戻り値
このアクション自体には戻り値はありませんが、フックされた関数内で実行する処理によって影響を与えます。
関連する関数
このアクションを使用可能なバージョン
wp_update_attachment_metadata
は、WordPress 3.1.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 |
サンプルコード
-
カスタムフィールドを追加する
メディアがアップロードされたときにカスタムフィールドを追加します。add_action('wp_update_attachment_metadata', 'add_custom_field_to_attachment', 10, 2); function add_custom_field_to_attachment($attachment_id, $metadata) { update_post_meta($attachment_id, 'custom_field', 'custom_value'); }
(引用元: https://developer.wordpress.org/reference/functions/add_action/)
-
メタ情報に画像の色空間を追加
メディアのメタ情報に色空間の情報を追加します。add_action('wp_update_attachment_metadata', 'add_color_space_to_metadata', 10, 2); function add_color_space_to_metadata($attachment_id, $metadata) { $metadata['color_space'] = 'RGB'; return $metadata; }
(引用元: https://developer.wordpress.org/reference/functions/add_action/)
-
メタデータの処理を拡張
メタデータに新しいサイズを追加する処理を記述します。add_action('wp_update_attachment_metadata', 'extend_metadata_with_custom_size', 10, 2); function extend_metadata_with_custom_size($attachment_id, $metadata) { $metadata['sizes']['custom_size'] = array( 'file' => 'custom_size.jpg', 'width' => 300, 'height' => 200, 'mime-type' => 'image/jpeg', ); return $metadata; }
(引用元: https://developer.wordpress.org/reference/functions/add_action/)
-
メタ情報のバックアップ
更新前のメタ情報をバックアップとして保存します。add_action('wp_update_attachment_metadata', 'backup_attachment_metadata', 10, 2); function backup_attachment_metadata($attachment_id, $metadata) { update_post_meta($attachment_id, 'backup_metadata', $metadata); }
(引用元: https://developer.wordpress.org/reference/functions/add_action/)
-
メタデータ更新時のログ
メタデータが更新された際にログを出力します。add_action('wp_update_attachment_metadata', 'log_metadata_update', 10, 2); function log_metadata_update($attachment_id, $metadata) { error_log('メタデータが更新されました: ' . $attachment_id); }
(引用元: https://developer.wordpress.org/reference/functions/add_action/)