[WORDPRESS] Woocommerce 플러그인을위한 보안 문자 reCAPTCHA와 함께 작동하지 않는 WOOCOMMMERCE 체크 아웃
WORDPRESSWoocommerce 플러그인을위한 보안 문자 reCAPTCHA와 함께 작동하지 않는 WOOCOMMMERCE 체크 아웃
해결법
-
1.플러그인은 체크 아웃 프로세스가 아닌 WooCommerce 등록 및 로그인을 보호하기 위해 작성되었습니다.
플러그인은 체크 아웃 프로세스가 아닌 WooCommerce 등록 및 로그인을 보호하기 위해 작성되었습니다.
체크 아웃 프로세스를 보호하기 위해, 나는 registration.php를 조정했다.
class WC_Ncr_Registration_Captcha extends WC_Ncr_No_Captcha_Recaptcha { /** Initialize actions and filters */ public static function initialize() { // initialize if login is activated if ( isset( self::$plugin_options['captcha_wc_registration'] ) || self::$plugin_options['captcha_wc_registration'] == 'yes' ) { // adds the captcha to the registration form add_action( 'register_form', array( __CLASS__, 'display_captcha' ) ); } //added the following lines to the plugin add_action('woocommerce_after_checkout_billing_form', array( __CLASS__, 'display_captcha' )); add_action('woocommerce_checkout_process', array( __CLASS__, 'validate_captcha_wc_checkout' ), 10, 3 ); //added the previous lines to the plugin } /** * Verify the captcha answer * * @param $validation_errors * @param $username * @param $email * * @return WP_Error */ public static function validate_captcha_wc_registration( $validation_errors, $username, $email ) { if ( ! isset( $_POST['g-recaptcha-response'] ) || ! self::captcha_wc_verification() ) { $validation_errors = new WP_Error( 'failed_verification', self::$error_message ); } return $validation_errors; } //added the following lines to the plugin public static function validate_captcha_wc_checkout( $validation_errors, $username, $email ) { if ( ! isset( $_POST['g-recaptcha-response'] ) || ! self::captcha_wc_verification() ) { wc_add_notice(__( 'Please verify you are not a robot.' ), 'error' ); } } //added the previous lines to the plugin }
-
2.함수에 추가하십시오 .php.
함수에 추가하십시오 .php.
function my_woocommerce_before_checkout_process() { remove_filter( 'woocommerce_registration_errors', array('WC_Ncr_Registration_Captcha', 'validate_captcha_wc_registration'), 10 ); } add_action('woocommerce_before_checkout_process', 'my_woocommerce_before_checkout_process');
from https://stackoverflow.com/questions/32197121/woocommerce-checkout-not-working-with-no-captcha-recaptcha-for-woocommerce-plugi by cc-by-sa and MIT license
'WORDPRESS' 카테고리의 다른 글
[WORDPRESS] WP_LIST_PAGES ($ args)를 포장하는 방법; DIV 및 UL 요소가 있습니까? (0) | 2020.11.24 |
---|---|
[WORDPRESS] WordPress 테마의 옵션 트리가있는 모든 활판 인쇄 옵션을 추가하는 방법은 무엇입니까? (0) | 2020.11.24 |
[WORDPRESS] WordPress Multisite 문제 (0) | 2020.11.24 |
[WORDPRESS] <p> 태그 및 클래스가있는 제목 (<h1>, <h2> ...) 태그를 교체합니다. (0) | 2020.11.24 |
[WORDPRESS] 동적 WordPress 위젯 생성 (0) | 2020.11.24 |