WordPress.org

Ready to get started?Download WordPress

Forums

Contact Form 7 reCAPTCHA Extension
Not working after Contact Form 7 3.6 update and WP-reCaptcha 3.2 (10 posts)

  1. callmebruce
    Member
    Posted 8 months ago #

    Hi,

    Just updated to WP 3.8 and CF7 3.6 and WP-reCaptcha 3.2. Prior to this update I was version lower on everything and all working OK.

    Now when I display the contact form it is showing the [recaptcha recaptcha-54] tag in the form instead of displaying the recaptcha image etc.

    Has anyone come across this or have any ideas on fixing it? I have deactivated/activated all three plugins but still no change.

    Thanks

    http://wordpress.org/plugins/contact-form-7-recaptcha-extension/

  2. dasped
    Member
    Posted 8 months ago #

    Same story here, any help appreciated.
    Thanks

  3. SusanLow
    Member
    Posted 8 months ago #

    Ditto here. Tested with both registered and unregistered users. The shortcode is displaying. I also tried updating my reCAPTCHA API keys. No dice.

  4. ikookmaar
    Member
    Posted 8 months ago #

    Broken since CF7 3.6 with me too... Apparently the "Better WP" version is also broken...
    Only working replacement I found is CF7 Really Simple Captcha, but it doesn't work in combination with User Access Manager (.htaccess problems).
    Anyone knows about another (working!) alternative?

  5. ikookmaar
    Member
    Posted 8 months ago #

    from http://wordpress.org/support/topic/update-to-cf7-36-seems-to-have-broken-the-dynamic-text-extension it seems that this can be fixed by "making sure the priority on the plugins_loaded action hook in that plugin is set higher than 10".
    I am not really a PHP programmer. Could anyone point me to how and where to set this priority?
    In CF7 recapcha extension's WPASDPlugin.class.php I found:
    "add_action('plugins_loaded', array(&$this, 'initialize'));"
    I tried changing it to :
    "add_action('plugins_loaded', array(&$this, 'initialize'), 1);"
    but that doesn't seem to work. Will I have to deactivate and reactivate Contact Form 7 or any of the extensions plugins also? If so, in what order?

  6. callmebruce
    Member
    Posted 8 months ago #

    Ok after reading the post that ikookmaar linked to and then putting in a lot of debugging steps I confirmed that the issue was/is definitely a matter of priority. (I also swapped to Better WP as a test and both have the same issue).

    Quick Fix:

    Following the solutions that fijnmedia identified, go to /plugins/contact-form-7/includes/settings.php line 17 and change

    add_action( 'plugins_loaded', 'wpcf7');

    to

    add_action( 'plugins_loaded', 'wpcf7', 1);

    More info:

    After tracking through the debug calls I inserted I found that the call to function register_cf7() (or in BWP register_cf7_shortcode()) is calling wpcf7_add_shortcode(..) which in turn is testing to see if a global variable $wpcf7_shortcode_manager has been instantiated (as 'WPCF7_ShortcodeManager') before actually adding the shortcode. Turns out that the global had NOT been instantiated yet, so the shortcode wasn't added, and hence reCAPTCHA doesn't get processed. By adding the 1 to the 'plugins_loaded' action and raising the priority it effectively causes the global to be instantiated earlier.

    Good or Bad?

    I wouldn't have a clue, I am a DotNet programmer normally, in php I am just a hack :). Perhaps the cf7 plugin author or someone more knowledgeable can chime in?

  7. ikookmaar
    Member
    Posted 8 months ago #

    Continuing http://wordpress.org/support/topic/update-to-cf7-36-seems-to-have-broken-the-dynamic-text-extension, sevenspark helped me fix it. Not by changing the priority in the CF7 itself as callmebruce suggests now, but of CF7 WP-recaptcha extension. Aparently I was well on the way by finding "add_action('plugins_loaded', array(&$this, 'initialize'));" in CF7 recaptcha extension's WPASDPlugin.class.php.
    Changing it to "add_action('plugins_loaded', array(&$this, 'initialize'), 15);" (a priority higher then 10, instead of lower) made it work!

  8. snhnic
    Member
    Posted 7 months ago #

    Thanks it worked for me in wordpress 3.8

  9. Andre Pietsch
    Member
    Plugin Author

    Posted 7 months ago #

    Hi, I updated the plugin to 0.1.0 to work with WP 3.8 and the current versions of the reCAPTCHA plugins. I checked it on several wordpress instances and it works there.

    Please check it on your instances.

    Kindest regards. :)

  10. misterpo
    Member
    Posted 6 months ago #

    Hi,

    I use WordPress 3.8.1 and plugin version 0.1.0 in multi-site.

    Re-Captcha tag is not displayed in the contact form configuration page.

    I have the following error message on the Contact Form 7 re-Captcha extension though WP-reCaptcha is installed :

    You are using Contact Form 7 reCAPTCHA Extension. This needs a reCAPTCHA plugin to work properly but neither of the recommended reCAPTCHA plugins is installed and activated. Please install and activate one of the following plugins: 
— WP-reCAPTCHA http://wordpress.org/extend/plugins/wp-recaptcha/
— Better WordPress reCAPTCHA http://wordpress.org/extend/plugins/bwp-recaptcha/

Reply

You must log in to post.

About this Plugin

About this Topic