概要
acf_register_form
関数は、フロントエンドフォームを登録する際に使用される関数です。この関数を使用することで、WordPressサイト上でカスタムフィールドを簡単に利用できるフォームを作成できます。以下のような機能を実装する際によく使われます。
- ユーザープロファイルの更新
- 投稿やカスタム投稿タイプの入力
- オプションページからのデータ入力
- フロントエンドでのカスタムフォームの作成
- イベント登録フォームの作成
- 商品やサービスの申し込みフォームの作成
構文
acf_register_form( $args );
パラメータ
引数 $args
は配列で、登録するフォームの設定を指定します。以下は一般的なパラメータです。
id
(string) – フォームのIDpost_id
(mixed) – フォームが関連付けられる投稿のIDreturn
(string) – フォーム送信後にリダイレクトするURLfields
(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は提供できませんが、上記サンプルコードは著作権フリーであり、オリジナルの構造を持っています。