wp_update_attachment_metadata()


WordPress関数wp_update_attachment_metadata()は、添付ファイルのメタデータを更新するために使用されます。

構文

wp_update_attachment_metadata( int $attachment_id, array $data );

引数の説明:

  • $attachment_id (int) — 更新対象の添付ファイルのID。
  • $data (array) — 更新するメタデータの配列。

例1. 画像メタデータの生成と更新

添付ファイルIDを取得してメタデータを生成し、更新します。

<?php
$attachment_id = get_post_thumbnail_id( get_the_ID() );
$metadata = wp_generate_attachment_metadata( $attachment_id, get_attached_file( $attachment_id ) );
wp_update_attachment_metadata( $attachment_id, $metadata );
?>

例2. メタデータにカスタムフィールドを追加

カスタムデータをメタデータに追加して更新します。

<?php
$attachment_id = get_post_thumbnail_id( get_the_ID() );
$metadata = wp_get_attachment_metadata( $attachment_id );
$metadata['custom_field'] = 'カスタムデータ';
wp_update_attachment_metadata( $attachment_id, $metadata );
?>

例3. サムネイルの再生成

画像のサムネイルを再生成して更新します。

<?php
$attachment_id = get_post_thumbnail_id( get_the_ID() );
$metadata = wp_generate_attachment_metadata( $attachment_id, get_attached_file( $attachment_id ) );
wp_update_attachment_metadata( $attachment_id, $metadata );
?>

例4. サイズ情報の変更

画像サイズを更新する方法です。

<?php
$attachment_id = get_post_thumbnail_id( get_the_ID() );
$metadata = wp_get_attachment_metadata( $attachment_id );
$metadata['sizes']['thumbnail']['width'] = 200;
wp_update_attachment_metadata( $attachment_id, $metadata );
?>

例5. メタデータの初期化

添付ファイルのメタデータをリセットします。

<?php
$attachment_id = get_post_thumbnail_id( get_the_ID() );
$metadata = [];
wp_update_attachment_metadata( $attachment_id, $metadata );
?>

注意事項

  • wp_update_attachment_metadata()を使用する際には、必ず正しいIDとデータを指定してください。
  • 不正なデータを渡すと添付ファイルの動作に影響を与える可能性があります。
  • 変更前にメタデータをバックアップすることをお勧めします。

関連機能: