Опубликовано

Recaptcha wordpress

Добрый день. У меня недавно сложилась следующая ситуация.
Нужно было добавить рекапчу на страницу wordpress. Но tinymce назойливо вырезает, некоторые контейнеры из страницы/записи.
Вместо контейнера, который вырезается из верстки ставим шорткод типа [recaptcha]. Затем регистрируем его в functions.php

function add_recap()
{
	static $i = 1;
	return "<div class='recaptcha' id='recap" . $i++ . "'></div>";
}
add_shortcode('recaptcha', 'add_recap');

Готово. Объясню зачем там static $i = 1;. Так как id контейнеров рекапчи на странице не должны повторяться, мы делаем счетчик, который не сбрасывается при выходе из функции.

Ну и на всякий случай. может кому понадобится. в футере следующий js код

<script>
    var recaptchaIds = [];
    
    var CaptchaCallback = function () {
        $('.recaptcha').each(function () {
            var id = $(this).attr("id");
            var captcha_id = grecaptcha.render(id, {'sitekey': '6Ldsmh0TAAAAADa-vRFKL1mdJ1bwjti1Tu9oTf1O'});
            recaptchaIds.push(captcha_id);
        });

    };
</script>
<script src="//www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>

Удачи в начинаниях 🙂

Добавить комментарий

Ваш e-mail не будет опубликован.