Установите флажок, если страница посещается с помощью кнопки

#php #wordpress #checkbox

Вопрос:

Мне нужна помощь, чтобы понять, как я мог бы добавить следующую функциональность:

У меня есть страница контактов на моем веб-сайте WP, на которой есть форма контакта 7 и флажок, чтобы подписаться на рассылку новостей.

Страница контактов доступна 2 способами — очевидно, через меню, но на главной странице также есть кнопка «Подпишитесь на рассылку новостей», при нажатии на которую пользователь также переходит на страницу контактов. Я хотел бы сделать так, чтобы, когда пользователь нажимает кнопку на главной странице, она не только выводила его/ее на страницу контактов, но и автоматически устанавливала флажок, который там установлен. Я не хочу, чтобы флажок устанавливался автоматически, если пользователь посещает страницу контактов через меню или любым другим способом.

Я предполагаю, что я ищу некоторую логику php, но любые мысли приветствуются.

Ответ №1:

Добавьте ссылку PHP GET string к кнопке, затем прочитайте это с другой стороны и сделайте логику такой:

если страница есть contact-page.php , то по кнопке добавить ссылку contact-page.php?button=true

на contact-page.php прочтите это ?button=true с помощью PHP:

 if (isset($_GET["button"])) {
   //echo that checkbox checked 
}else{
   //echo that checkbox not checked 
}
 

или в JS:

 if (window.location.href.indexOf("button") > -1) {
      //check checkbox with JS
  }
 

Другой вариант заключается в том , что вы используете JS localStorage , когда нажимаете набор кнопок localStorage button: true , затем считываете его contact-page.php и, если он установлен, установите флажок с помощью JS

Комментарии:

1. При работе с параметрами поиска есть лучший способ: const SP = new URLSearchParams(location.search); console.log(SP.get("button")); // "some value" otherwise null Подробнее: MDN URLSearchParams (если IE вас не касается)