概要
woocommerce_register_form_end
アクションは、WooCommerce のカスタムユーザーレジストレーションフォームの終了部分にフックし、追加のフィールドやHTMLを挿入するために使用されます。これにより、標準の登録フォームに対してカスタマイズや拡張を行うことができます。具体的には、次のような機能が求められるシナリオで用いられます。
- ユーザーに特別な情報を収集するためのカスタムフィールドを追加
- ユーザー登録時に特定の条件を追加するためのチェックボックスやラジオボタンを搭載
- プライバシーポリシーへの同意を確認するためのチェックボックスを設置
- ユーザーが登録時にニュースレターの購読を選択できるようにする
- ユーザーが自己紹介やメモを記入するためのテキストエリアを追加
- ソーシャルメディアアカウントのリンクを登録するためのフィールドを設置
構文
do_action('woocommerce_register_form_end');
パラメータ
このアクションには特定のパラメータはなく、追加するHTMLやPHPをそのまま挿入することができます。
戻り値
このアクションは戻り値を持ちません。
使用可能なプラグインWooCommerceのバージョン
WooCommerce 2.0以降
使用可能なWordPressのバージョン
WordPress 4.0以降
サンプルコード
サンプルコード1
add_action('woocommerce_register_form_end', 'add_custom_field');
function add_custom_field() {
echo '<p class="form-row form-row-wide">';
echo '<label for="reg_custom_field">' . __('Custom Field', 'your-text-domain') . '</label>';
echo '<input class="input-text" type="text" name="custom_field" id="reg_custom_field" value="' . ( ! empty( $_POST['custom_field'] ) ? esc_attr( $_POST['custom_field']) : '' ) . '" />';
echo '</p>';
}
このコードは、ユーザー登録フォームの最後にカスタムフィールドを追加します。
サンプルコード2
add_action('woocommerce_register_form_end', 'add_newsletter_checkbox');
function add_newsletter_checkbox() {
echo '<p class="form-row form-row-wide">';
echo '<input type="checkbox" name="newsletter" id="reg_newsletter" /> <label for="reg_newsletter">' . __('Subscribe to our newsletter', 'your-text-domain') . '</label>';
echo '</p>';
}
このコードは、ユーザー登録時にニュースレター購読のためのチェックボックスを追加します。
サンプルコード3
add_action('woocommerce_register_form_end', 'add_terms_checkbox');
function add_terms_checkbox() {
echo '<p class="form-row form-row-wide">';
echo '<input type="checkbox" name="terms" id="reg_terms" required /> <label for="reg_terms">' . __('I accept the terms and conditions', 'your-text-domain') . '</label>';
echo '</p>';
}
このコードは、ユーザーが利用規約に同意するためのチェックボックスを追加します。
サンプルコード4
add_action('woocommerce_register_form_end', 'add_intro_textarea');
function add_intro_textarea() {
echo '<p class="form-row form-row-wide">';
echo '<label for="reg_intro">' . __('Tell us about yourself', 'your-text-domain') . '</label>';
echo '<textarea class="input-text" name="intro" id="reg_intro"></textarea>';
echo '</p>';
}
このコードは、自己紹介を記入するためのテキストエリアを追加します。
サンプルコード5
add_action('woocommerce_register_form_end', 'add_social_links');
function add_social_links() {
echo '<p class="form-row form-row-wide">';
echo '<label for="reg_facebook">' . __('Facebook Profile URL', 'your-text-domain') . '</label>';
echo '<input class="input-text" type="url" name="facebook" id="reg_facebook" />';
echo '</p>';
}
このコードは、ユーザーがFacebookプロフィールのURLを登録できるフィールドを追加します。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |