WooCommerce 会員登録フォームに利用規約/個人情報保護同意追加する

Last Updated:2021年05月23日| | コメントを残す

WooCommerce 「マイアカウント」の会員登録フォームに利用規約または個人情報保護同意欄を追加したい場合があります。 この場合、 WordPress WooCommerceで提供されるフック(Hook)を使用して WooCommerce 会員登録ページへ利用規約/個人情報保護同意チェックボックスを追加することができます。

WooCommerce 会員登録フォームに利用規約/個人情報保護同意追加する

WooCommerceのマイアカウント(My Account)ページの会員登録フォームに「利用規約に同意します」または「個人情報保護方針に同意します」チェックボックスを追加し、会員登録時にこのチェックボックスをチェックしないと「エラー:利用「利用規約に同意する必要があります」または「エラー:プライバシーポリシーに同意する必要があります」というメッセージを出力できます。

マイアカウントページの会員登録フォームに利用規約/個人情報保護方針に同意チェック欄を追加するには、次のようなコードを使用しているテーマの関数ファイル(functions.php)に追加します。 チャイルドテーマ(子テーマ)を作成し、子テーマの関数ファイルにコードを追加する必要が今後のテーマの更新時にコードが維持されます。

// Add Privacy Policy Checkbox @ WooCommerce My Account Registration Form
// WooCommerce 내 계정 회원가입 양식에 개인정보 보호/이용약관 체크란 추가하기

add_action( 'woocommerce_register_form', 'bbloomer_add_registration_privacy_policy', 11 );

function bbloomer_add_registration_privacy_policy() {

woocommerce_form_field( 'privacy_policy_reg', array(
   'type'          => 'checkbox',
   'class'         => array('form-row privacy'),
   'label_class'   => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
   'input_class'   => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
   'required'      => true,
   'label'         => '<a href="/privacy-policy">이용약관</a>에 동의합니다.',
));

}

// Show error if user does not tick during registration
// ユーザー가 회원 가입 시 체크박스를 체크하지 않으면 오류 표시하기

add_filter( 'woocommerce_registration_errors', 'bbloomer_validate_privacy_registration', 10, 3 );

function bbloomer_validate_privacy_registration( $errors, $username, $email ) {
if ( ! is_checkout() ) {
    if ( ! (int) isset( $_POST['privacy_policy_reg'] ) ) {
        $errors->add( 'privacy_policy_reg_error', __( '이용약관에 동의해야 합니다!', 'woocommerce' ) );
    }
}
return $errors;
} 

// 출처: https://www.businessbloomer.com/woocommerce-add-privacy-policy-consent-my-account-registration/

WordPress WooCommerce 専用テーマである Flatsomeテーマに上記のコードを追加すると、次のように「利用規約に同意します。」 チェックボックスが表示され、顧客が会員登録時にチェックボックスを選択しないと、エラーメッセージが表示されます。

WooCommerce 会員登録フォームに利用規約/個人情報保護同意を追加する -  WordPress フラット島テーマ

上記のコードでは利用規約/個人情報保護方針ページのURL部分(/ privacy-policy)を適切に修正してください。

Avada テーマ上記のコードを追加すると、次のように表示されます。

WooCommerce 会員登録フォームに利用規約/個人情報保護同意を追加する -  WordPress Avada テーマ

上の図では、「Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our プライバシーポリシー」テキストが一緒に表示されています。 この部分は WooCommerceで制御されている部分であり、 ルックス>カスタマイズ> WooCommerce >決済から削除することができます。

「マイアカウント」ページをカスタマイズしたい場合 YITH WOOCOMMERCE CUSTOMIZE MY ACCOUNT PAGEプラグイン(有料)を利用することができます。

支払いするページにフレーズを表示する

他の方法でのお支払いするページに利用規約に同意フレーズを表示したい場合は、次のようなコードをテーマの関数ファイルに追加することができます。

add_action( 'woocommerce_review_order_after_payment', 'add_custom_text' );

function add_custom_text() {

    echo '<p class="conent_privacy">※주문 확정 버튼을 누르면 <a href="/privacy-policy" target="_blank">이용약관</a>에 동의하는 것으로 간주됩니다.</p>' ;

} 

上記のようなコードをフラット島テーマの関数ファイルに追加すると、決済ページに次のようにフレーズが表示されます。

WooCommerce 会員登録フォームに利用規約/個人情報保護フレーズを追加する -  Flatsomeテーマ

[マイアカウント]ページの会員登録フォームに上記のようなフレーズを表示したい場合は、次のコードを使用できます。

add_action( 'woocommerce_register_form_end', 'tokopress_custom_text_in_woo_register_form' );
function tokopress_custom_text_in_woo_register_form() {
    echo '※회원가입하기 버튼을 누르면 <a href="/privacy-policy">이용약관</a>에 동의하게 됩니다';
} 

しかし、「マイアカウント」の会員登録フォームに個人情報保護方針URLと同意文を ルックス>カスタマイズ> WooCommerce >決済で設定することができます。

WooCommerce 会員登録フォームに利用規約/個人情報保護同意追加する2

"Your personal data will be used to process your order, support your experience throughout this website..." フレーズを韓国語に適切に翻訳できます。

参照


コメントを残す

コメント