プラグインAdvanced custom fields(ACF)のupdate_field関数の使用方法・解説

概要

update_field は、Advanced Custom Fields (ACF) プラグインで特定のフィールドの値を更新します。この関数は、カスタムフィールドの値をプログラムmatically変更する必要がある場面で非常に有用です。次のようなケースでよく使用されます:

  1. 投稿やページのカスタムフィールドを編集する
  2. ユーザープロファイルのカスタムフィールドを更新する
  3. カスタムオプションページの値を変更する
  4. フォーム送信時にカスタムフィールドの値を保存する
  5. WooCommerceの商品カスタム属性を更新する
  6. 自動化されたインポートやエクスポート処理の一部としてフィールドを更新する

構文

update_field( $field_key, $value, $post_id );

パラメータ

  • $field_key: 更新対象のフィールドのキーまたはフィールドID
  • $value: 新しい値
  • $post_id: 更新対象の投稿またはページのID。指定しない場合は、現在の投稿IDが使用されます。

戻り値

成功すれば true を返し、失敗すれば false を返します。

使用可能なバージョン

  • Advanced Custom Fields (ACF) バージョン: 5.x 以上
  • WordPress バージョン: 4.0 以上

この関数のアクションでの使用可能性

アクション 使用可能
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

  1. カスタムフィールドの更新

    • 投稿ID 123 のカスタムフィールド ‘my_custom_field’ に値 ‘新しい値’ を設定します。
    update_field('my_custom_field', '新しい値', 123);
    
  2. ユーザープロファイルのカスタムフィールド更新

    • ユーザーID 5 のカスタムフィールド ‘user_bio’ に ‘私についての情報’ を設定します。
    update_field('user_bio', '私についての情報', 'user_5');
    
  3. オプションページにカスタムフィールド値を設定

    • ACFオプションページに ‘site_info’ というフィールドの値として ‘日本のサイト’ を設定します。
    update_field('site_info', '日本のサイト', 'options');
    
  4. WooCommerce製品のカスタムフィールドを更新

    • 商品ID 42 のカスタムフィールド ‘custom_price’ に値を設定します。
    update_field('custom_price', 2500, 42);
    
  5. フォーム送信時にカスタムフィールドを保存

    • フォームが送信されたときに特定のフィールドを更新する処理の例。
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
       update_field('form_field', $_POST['form_field_value'], get_the_ID());
    }
    

これらのサンプルコードは、ACFのupdate_field 関数の使用方法を示しており、さまざまなシナリオでの使い方をサポートしています。引用元は特にはありませんが、ACFの公式ドキュメントを参照することをお勧めします。

この関数について質問する


上の計算式の答えを入力してください