acf_update_metaref()


Advanced Custom Fields(ACF)プラグインのacf_update_metaref()関数は、カスタムフィールドの値を更新する際に使用される便利な関数です。この関数は主にカスタムフィールドデータを更新したり、既存のフィールドの値を変更するために利用されます。

構文

acf_update_metaref( string $meta_key, mixed $meta_value, int|string $post_id );

引数の説明:

  • $meta_key (string) — 更新対象のカスタムフィールドのキー。
  • $meta_value (mixed) — 更新する値。
  • $post_id (int|string) — 更新する対象の投稿またはページのID。

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

以下は、特定の投稿のカスタムフィールドを更新する基本的な例です。

acf_update_metaref( 'custom_field_key', '新しい値', get_the_ID() );

例 2: ページの特定のフィールドを更新する

以下のコードは、特定のページのカスタムフィールドを更新します。

acf_update_metaref( 'page_field_key', 'ページの新しい値', 42 );

例 3: 投稿IDを取得して動的にフィールドを更新する

投稿IDを動的に取得してフィールドを更新する方法の例です。

acf_update_metaref( 'dynamic_key', '動的な値', get_post()->ID );

例 4: ユーザー入力値を利用してフィールドを更新する

ユーザーから送信された値を使用してカスタムフィールドを更新します。

acf_update_metaref( 'user_input_key', $_POST['user_value'], 123 );

例 5: 投稿ステータスに基づいてフィールドを更新する

投稿のステータスを確認してフィールドを更新します。

if ( get_post_status( get_the_ID() ) === 'publish' ) {
    acf_update_metaref( 'status_key', '公開済み', get_the_ID() );
}

注意事項:

  • $meta_keyはACFで定義された正しいフィールドキーを使用してください。
  • 存在しない$post_idを指定するとエラーが発生します。
  • 値の型($meta_value)が期待される形式と一致していることを確認してください。