update_metadata()


WordPressのupdate_metadata()関数は、投稿、ユーザー、コメント、または用語のメタデータを更新するために使用されます。この関数は、新しいメタデータを追加するか、既存のメタデータを変更します。

構文

update_metadata( string $meta_type, int $object_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' );

引数の説明:

  • $meta_type (string) — メタデータの種類(例: post, user, comment, term)。
  • $object_id (int) — メタデータを関連付ける対象オブジェクトのID。
  • $meta_key (string) — 更新対象のメタデータキー。
  • $meta_value (mixed) — 設定する新しいメタデータの値。
  • $prev_value (mixed) — (オプション)以前の値を指定して一致する場合のみ更新する。

例 1. 投稿メタデータの更新

以下のコードは、特定の投稿にカスタムフィールド値を設定します。

update_metadata( 'post', get_the_ID(), 'custom_field_key', '新しい値' );

例 2. ユーザーメタデータの追加または更新

ユーザーIDに基づいてメタデータを設定します。

update_metadata( 'user', get_current_user_id(), 'user_profile_color', 'blue' );

例 3. コメントメタデータの更新

特定のコメントにカスタムメタデータを設定します。

update_metadata( 'comment', get_comment_ID(), 'approval_status', 'approved' );

例 4. 用語(タクソノミー)のメタデータを更新

特定のカテゴリーにカスタムメタデータを追加します。

update_metadata( 'term', get_term_by( 'slug', 'category-slug', 'category' )->term_id, 'term_color', 'green' );

例 5. メタデータの条件付き更新

以前の値が一致する場合にのみ投稿メタデータを更新します。

update_metadata( 'post', get_the_ID(), 'custom_field_key', '新しい値', '古い値' );

注意事項

  • メタデータの値を大きく変更する場合は、データベースのバックアップを作成してください。
  • 不要なデータ更新を避けるために$prev_valueを活用してください。

関連機能: