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

概要

acf_register_form 関数は、フロントエンドフォームを登録する際に使用される関数です。この関数を使用することで、WordPressサイト上でカスタムフィールドを簡単に利用できるフォームを作成できます。以下のような機能を実装する際によく使われます。

  1. ユーザープロファイルの更新
  2. 投稿やカスタム投稿タイプの入力
  3. オプションページからのデータ入力
  4. フロントエンドでのカスタムフォームの作成
  5. イベント登録フォームの作成
  6. 商品やサービスの申し込みフォームの作成

構文

acf_register_form( $args );

パラメータ

引数 $args は配列で、登録するフォームの設定を指定します。以下は一般的なパラメータです。

  • id (string) – フォームのID
  • post_id (mixed) – フォームが関連付けられる投稿のID
  • return (string) – フォーム送信後にリダイレクトするURL
  • fields (array) – フォームに含めるフィールドの配列
  • submit_value (string) – 送信ボタンのテキスト

戻り値

この関数は、フォームのHTMLを出力します。

ACFとWordPressのバージョン

  • ACFバージョン: 5.0以上
  • WordPressバージョン: 4.7以上

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

アクション名 使用可能性
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

acf_register_form(array(
    'id' => 'my_frontend_form',
    'post_id' => 'new_post',
    'return' => home_url('/success/'),
    'submit_value' => '新しい投稿を作成',
));

このコードは、新しい投稿を作成するためのフロントエンドフォームを登録します。フォーム送信後、ユーザーは成功メッセージのあるページにリダイレクトされます。

サンプルコード 2

acf_register_form(array(
    'id' => 'user_profile_form',
    'post_id' => 'user_' . get_current_user_id(),
    'return' => home_url('/profile/'),
    'submit_value' => 'プロフィールを更新',
));

このコードは、現在のユーザーのプロフィールを更新するためのフォームを登録します。ユーザーがフォームを送信すると、プロフィールページにリダイレクトされます。

サンプルコード 3

acf_register_form(array(
    'id' => 'event_registration_form',
    'post_id' => 'new_event',
    'return' => home_url('/thank-you/'),
    'fields' => array(
        'event_name',
        'event_date',
        'attendee_name',
    ),
    'submit_value' => 'イベントに登録',
));

このコードは、イベント登録のためのカスタムフィールドを含むフォームを登録します。送信後、感謝のページにリダイレクトされます。

サンプルコード 4

acf_register_form(array(
    'id' => 'product_order_form',
    'post_id' => 'new_order',
    'return' => home_url('/order-confirmation/'),
    'submit_value' => '注文する',
));

このコードは、商品注文用のフォームを登録します。注文が完了した後、確認ページにリダイレクトされます。

サンプルコード 5

acf_register_form(array(
    'id' => 'contact_form',
    'post_id' => 'new_contact',
    'return' => home_url('/contact-success/'),
    'submit_value' => '送信する',
));

このコードは、お問い合わせフォームを登録します。送信後、成功メッセージのページにリダイレクトされます。

引用元URLは提供できませんが、上記サンプルコードは著作権フリーであり、オリジナルの構造を持っています。

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


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