説明
wp_update_attachment_metadata() は、添付ファイルのメタデータを更新する関数です。
基本構文
wp_update_attachment_metadata( int $attachment_id, array $data ): int|false
引数
$attachment_id:添付ファイルのID$data:メタデータ
戻り値
更新できたらメタID、変更なしなら false。
使い方(サンプル)
wp_update_attachment_metadata( 45, $data );
注意点
wp_generate_attachment_metadata()の結果を渡すことが多いです。
実務での使いどころ
wp_generate_attachment_metadata()が作ったメタデータを、保存するとき。- メタデータの一部(
image_metaなど)を、書き換えるとき。
よくあるミスと対処
- 取得せずに、一部だけの配列を保存し、メタデータ全体が置き換わる。取得して、必要な項目を変更し、全体を保存する。
- 存在しない添付ファイルのIDを渡している。
NG例
wp_update_attachment_metadata( $id, array( 'width' => 800 ) ); // 他の項目が消える
OK例
$meta = wp_get_attachment_metadata( $id );
$meta['image_meta']['credit'] = '撮影者'; // EXIF由来の項目
wp_update_attachment_metadata( $id, $meta );
使い分け早見表
| 関数 | 役割 |
|---|---|
wp_update_attachment_metadata() |
メタデータを保存する |
wp_get_attachment_metadata() |
メタデータを取得する |
wp_generate_attachment_metadata() |
メタデータを作る |
関連項目
wp_generate_attachment_metadata()、wp_get_attachment_metadata()
公式リファレンス:wp_update_attachment_metadata() | Function | WordPress Developer Resources

コメント