Отключение нескольких повторов после нажатия в WordPress - PullRequest
0 голосов
/ 05 октября 2019

У меня на сайте WordPress включены две функции для поиска. Каждая рекапча находится на отдельной странице. Оба прикреплены к поисковым формам, которые соответствуют одному и тому же API.

Мне интересно, как отключить / скрыть обе записи, если они отмечены.

Я пытался использовать сессию, которая работала в стадии подготовки, но не работала из-за кэширования.

Я также пытался использовать куки, но я не знаю, как заставить одну страницу читать куки другой страницы.

Я использую стандартный скрипт Google Recaptcha

<script>
                grecReady = function(){
                    grecaptcha.render('grec', {
                        'sitekey' : 'XXXXXXXXXXXXXXXXXXXXXXXX',
                        'callback' : function(g){
                            document.cookie = "grecResponse="+g;
                            jQuery('#grec').addClass('clicked');
                        }
                    });
                }
</script>

отредактируйте для ясности : мы используем recaptcha версии 2.

Кроме того, recaptcha 1 создает файл cookie, связанный с путем '/somepage'.

Recaptcha 2создает файл cookie, связанный с путем «/ somepage / subpage».

Спасибо за помощь!

1 Ответ

0 голосов
/ 16 октября 2019

Обновление 2019-10-16:

Нашей проблемой было сложное кэширование, которое WPengine делает с сайтом нашего клиента. Мы использовали вызов ajax для создания глобального cookie с помощью этих статей:

https://wp -time.com / wordpress-ajax-tutorial-and-example / https://wpshout.com/using-cookies-in-wordpress-part-ii-cache-busting-with-ajax/

Нам также пришлось исключить файлы cookie и страницы, использующие рекэпчи, из кэширования с помощью службы поддержки WPengine.

Это 90% решение. Если мы нажмем кнопку «Назад» после прохождения рекапчи, форма рекапчи отобразится, потому что страница все еще кэшируется. WPengine не смог ничего сделать, чтобы помочь.

Это решение на 90%, но клиент доволен. Надеюсь, это поможет кому-то еще.

...