不带插件的页面模板上的ReCAPTCHA

时间:2014-01-19 作者:user2341459

我有一个联系我们页面的模板,其中包括一个小表单和几个文本字段。我想添加Recaptcha以避免垃圾邮件。我已经使用了WP recaptch插件,它只适用于默认的注册和评论表单。如果遵循these instructions 从recaptcha文档中,我得到一个错误,同一个类实例被声明了两次。这是贝科兹·雷帕查利布。WP repatcha已经在使用php。即使我将Contact 7 form插件与recaptcha一起使用,也会发生此错误,因为每个这样的插件都将重新声明相同的类。

我包括recaptchalib。php从WP\\U captcha插件到我的模板文件,它可以很好地显示Recaptcha框,但在验证部分不起作用-下面的代码不起作用:

    require_once ( WP_PLUGIN_DIR . \'/wp-recaptcha/recaptchalib.php\');
    $privatekey = "my key";
    if (empty($_POST[\'recaptcha_response_field\']) || $_POST[\'recaptcha_response_field\'] == \'\') {
        $captchaErr = \'Please Enter recaptcha text\';
    $hasError = true;
   }else{
      $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

      if (!$resp->is_valid) {
        // What happens when the CAPTCHA was entered incorrectly - show error
有人能提出一个解决方案吗?

1 个回复
SO网友:Gareth Gillman

你可以试试

if( ! function_exists(\'plugin_function\') )
 require_once(\'/wp-content/plugins/wp-recaptcha/recaptchalib.php\');
endif;
未测试,但本质上它会在尝试添加插件之前检查插件是否存在

结束

相关推荐

为什么不调用/触发“Plugins_Load”?

我正在打电话load_plugin_textdomain 然而,一旦加载了插件,就不会发生这种情况。我确实激活了一个插件,所以这不应该触发吗?add_action(\"plugins_loaded\", \"test_override\"); function init_localization() { echo \"init_localization<br>\"; load_plugin_textdomain (&#x