Support » Plugin: SI CAPTCHA Anti-Spam » Fix: Validating SI CAPTCHA on WooCommerce registration form

  • When I installed SI CAPTCHA, it showed up on the WooCommerce registration form (typically found at the http://mydomain.com/my-account/ URL). However, it would let you register with a blank or incorrect CAPTCHA field. In other words, SI CAPTCHA wasn’t checking the WooCommerce registration form at all.

    Here’s the fix (add it to your theme’s functions.php file):

    // Let's try some anti-spam on user registration
        add_filter( 'woocommerce_process_registration_errors', 'op_woocommerce_sicaptcha_registration_filter' );
        function op_woocommerce_sicaptcha_registration_filter($errors) {
            if (class_exists('siCaptcha')) {
                $si_image_captcha = new siCaptcha();
                $errors = $si_image_captcha->si_captcha_register_post($errors);
            }
            return($errors);
        }

    Basically, we’re just telling WooCommerce to check for SI CAPTCHA errors before processing the registration form.

    https://wordpress.org/plugins/si-captcha-for-wordpress/

Viewing 8 replies - 1 through 8 (of 8 total)
  • Many thanks for this fix!

    Hi, I installed this plugin and when a customer try register the captcha update but customer can’t register. My site web is http://roselaflame.uk, you can see.thank you

    Have you tried the latest version of the plugin?

    thanks a lot for this!

    ndrodrigues

    (@ndrodrigues)

    Hi, I did the same and it did not work for me. Help please…

    http://www.ndrphotos.com/my-account/

    I have this code in my child themes functions.php

    <?php
    /**
    * Custom Functions
    */

    // Remove Sidebar in Search Results Page
    add_filter(‘kadence_display_sidebar’, ‘search_sidebar’);

    function search_sidebar($sidebar) {
    if (is_search()) {
    return false;
    }
    return $sidebar;
    }

    // Let’s try some anti-spam on user registration
    add_filter( ‘woocommerce_process_registration_errors’, ‘op_woocommerce_sicaptcha_registration_filter’ );
    function op_woocommerce_sicaptcha_registration_filter($errors) {
    if (class_exists(‘siCaptcha’)) {
    $si_image_captcha = new siCaptcha();
    $errors = $si_image_captcha->si_captcha_register_post($errors);
    }
    return($errors);
    }

    Hi there,

    I have that exact same problem, where Captcha appears but it would let user register with a blank or incorrect CAPTCHA field, i.e. SI CAPTCHA wasn’t checking the WooCommerce registration form at all – http://snappyfit.com/home-page/.

    I’ve pasted the fix above at the bottom of the page for my wp-content theme’s functions.php file, it still doesn’t work.

    Am I missing a handle or some other text somewhere else?

    FYI, if this is relevant, at first the Captcha image wasn’t appearing. Then when I added:

    <?php do_action(‘comment_form’, $post->ID); ?>

    to the wp-content/themes/et-registration.php file (i.e my snappyfit.com/home-page or Custom registration page), the Captcha appeared. However, although it appears, it still lets you register with a blank or incorrect Captcha.

    Hope you can help share some advice how to fix this. Thanks so much !

    Thread Starter Joshua Fredrickson

    (@joshf)

    Unfortunately, this fix no longer works as of a few versions ago. Some of the error-handling code in SI CAPTCHA has been changed since this fix was first posted.

    I recommend connecting with the developers of the plugin for an updated fix.

    Hi Joshua, Thanks very much for the quick reply !

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Fix: Validating SI CAPTCHA on WooCommerce registration form’ is closed to new replies.