acf_update_metadata()


ACF(Advanced Custom Fields)の関数acf_update_metadata()は、カスタムフィールドデータを更新するために使用されます。この関数を使用すると、特定の投稿、ターム、ユーザー、またはオプションページに関連付けられたカスタムフィールドの値をプログラムで変更できます。

シンタックス

acf_update_metadata( string $meta_type, int|string $object_id, string $meta_key, mixed $value );

引数の説明:

  • $meta_type (string) — メタデータのタイプ。例: 'post', 'term', 'user', 'option'
  • $object_id (int|string) — 対象となるオブジェクトのID。
  • $meta_key (string) — 更新するカスタムフィールドのキー。
  • $value (mixed) — 設定する値。

例1: 投稿のカスタムフィールドを更新

以下のコードは、特定の投稿のカスタムフィールド「custom_field_name」の値を更新します。

acf_update_metadata( 'post', get_the_ID(), 'custom_field_name', '新しい値' );

例2: ユーザーメタデータを変更

特定のユーザーのカスタムフィールドを変更する方法。

acf_update_metadata( 'user', get_current_user_id(), 'profile_color', '#FF5733' );

例3: タームのカスタムフィールドを更新

タクソノミー「category」に属するタームのフィールドを更新。

acf_update_metadata( 'term', get_queried_object_id(), 'highlight_color', '#00FF00' );

例4: オプションページの値を設定

オプションページのフィールド「header_logo」を更新。

acf_update_metadata( 'option', 'options', 'header_logo', 'https://example.com/logo.png' );

例5: カスタム投稿タイプのフィールドを更新

カスタム投稿タイプ「product」に関連付けられたフィールドを更新。

acf_update_metadata( 'post', get_post_by_slug( 'product-slug' )->ID, 'price', 100 );

注意点

  • この関数は、Advanced Custom Fieldsプラグインが有効化されている場合のみ使用可能です。
  • 値を更新した後、キャッシュが影響を受ける可能性があるため、キャッシュのクリアを検討してください。