Как сохранить параметры строки запроса при переходе пользователя по сайту - PullRequest
0 голосов
/ 08 марта 2019

У меня есть ситуация, когда я хочу сохранить строку запроса между щелчками на моем сайте Wordpress.

Например, www.mywebsite.com/?utm_source=mysource

При переходе по этой ссылкена другой странице веб-сайта эта строка запроса должна сохраняться.

Например, www.mywebsite.com/anotherpage/?utm_source=mysource

Поэтому я решил, что одним из простых способов сделать это будет изменениеJavaScript, так что моя функция запускается, когда происходит щелчок по тегу привязки.

//Ensures that the query string persists between clicks on the site
  $("a").on("click", function (event) {
    event.preventDefault();   
    window.location.href = event.currentTarget.href + window.location.search;  
  });

Однако это не работает для других элементов на странице, таких как кнопки, которые не являются тегами привязки, но по-прежнему содержат ссылки, которыеизменить расположение окна, когда они нажаты.Например, в php-скриптах темы есть такой код:

<button onClick="location.href=www.anotherwebsite.com"</button>

Я мог бы реализовать другую функцию, которая реализует такое же поведение для элементов кнопки, но я обеспокоен тем, что всякий раз, когда добавляется другой элемент, у меня будетпроверить на новый тип.Есть ли лучший способ убедиться, что при каждом изменении расположения окна моя строка запроса сохраняется?

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

1 Ответ

1 голос
/ 08 марта 2019

несколько предложений
на стороне клиента
При использовании jquery может быть проще просто найти кликабельные элементы или добавить в тему WordPress классы css, если полезных еще нет.

сторона сервера
В WordPress используйте сеансы (но см. Ниже) и правило перезаписи или перенаправления, используя add_query_arg().
Примечание о сеансах и WordPress: вы не можете полагаться на PHPсессий;вместо этого используйте базу данных, возможно, с помощью существующего плагина, такого как WP Session Manager или WordPress Native PHP Sessions.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...