Добрый день. У меня недавно сложилась следующая ситуация.
Нужно было добавить рекапчу на страницу 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>
Удачи в начинаниях 🙂