우커머스 회원가입 양식에 이용약관/개인정보 보호 동의 추가하기

우커머스 "내 계정"의 회원가입 양식에 이용약관 또는 개인정보 보호 동의란을 추가하고 싶은 경우가 있습니다. 이 경우 워드프레스 우커머스에서 제공하는 훅(Hook)을 사용하여 우커머스 회원가입 페이지에 이용약관/개인정보 보호 동의 체크박스를 추가할 수 있습니다.

우커머스 회원가입 양식에 이용약관/개인정보 보호 동의 추가하기

우커머스의 내 계정(My Account) 페이지의 회원가입 양식에 "이용약관에 동의합니다" 또는 "개인정보 보호정책에 동의합니다" 체크박스를 추가하고, 회원 가입 시 이 체크박스를 체크하지 않으면 "오류: 이용약관에 동의해야 합니다" 또는 "오류: 개인정보 보호정책에 동의해야 합니다" 메시지를 출력할 수 있습니다.

내 계정 페이지의 회원가입 양식에 이용약관/개인정보 보호정책 동의 체크란을 추가하려면 다음과 같은 코드를 사용 중인 테마의 함수 파일(functions.php)에 추가하면 됩니다. 차일드 테마(자식 테마)를 만들어 자식 테마 내의 함수 파일에 코드를 추가해야 추후 테마 업데이트 시 코드가 유지됩니다.

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

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/

워드프레스 우커머스 전용 테마인 Flatsome 테마에 위의 코드를 추가하면 다음과 같이 "이용약관에 동의합니다." 체크박스가 표시되고, 고객이 회원가입 시 체크란을 선택하지 않으면 오류 메시지가 출력됩니다.

우커머스 회원가입 양식에 이용약관/개인정보 보호 동의 추가하기 - 워드프레스 플랫섬 테마

상기 코드에서 이용약관/개인정보 보호정책 페이지 URL 부분(/privacy-policy)을 적절히 수정하시기 바랍니다.

Avada 테마에 위의 코드를 추가하면 다음과 같이 표시됩니다.

우커머스 회원가입 양식에 이용약관/개인정보 보호 동의 추가하기 - 워드프레스 아바다 테마

위의 그림에서는 "Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our 개인정보 보호정책" 텍스트가 함께 표시되고 있습니다. 이 부분은 우커머스에서 제어되는 부분이며 외모 > 사용자 정의하기 > 우커머스 > 결제에서 제거할 수 있습니다.

"내 계정" 페이지를 커스텀하고 싶은 경우 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>' ;

} 

위와 같은 코드를 플랫섬 테마의 함수 파일에 추가하면 결제 페이지에 다음과 같이 문구가 표시됩니다.

우커머스 회원가입 양식에 이용약관/개인정보 보호 문구 추가하기 - 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과 동의 문구를 외모 > 사용자 정의하기 > 우커머스 > 결제에서 설정할 수 있습니다.

우커머스 회원가입 양식에 이용약관/개인정보 보호 동의 추가하기 2

"Your personal data will be used to process your order, support your experience throughout this website..." 문구를 한국어로 적절히 번역할 수 있습니다.

참고


댓글 남기기

* 이메일 주소는 공개되지 않습니다.