#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 вас не касается)