Мы начали добавлять довольно простые пользовательские параметры в URL нашего сайта, чтобы отслеживать источники маркетинга. Примером может быть www.example.com?campaign=facebook&Устройство = мобильным.
Проблема в том, что WordPress блокирует переход этих пользовательских параметров с одной страницы на другую. Я читал, что есть способ (1.) добавить cookie для хранения этих параметров, пока приложение не будет заполнено, или (2.) добавить некоторый код в PHP сайта WordPress, который заставит его распознавать эти параметры и позволяют им проталкивать. Я полагаю, что № 2 легче сделать, но я действительно не знаю.
Я нашел этот код:
function add_query_vars_filter( $vars ){
$vars[] = "campaign";
return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );
Но это не похоже на работу. Я не уверен, что я неправильно пишу код, помещаю его в неправильное место или использую не то, что нужно. Я поместил его в файл functions.php сайта WordPress. Любая помощь будет принята с благодарностью!
Я определенно выбрал бы первый вариант и установил куки, как только страница загрузится. Вы не хотите, чтобы переменная строки запроса следовала за вами по каждой ссылке на сайте.
Сначала проверьте запрос $ _GET и сохраните файл cookie, если он установлен.
if (isset($_GET['campaign']){
setcookie("campaign", $_GET['campaign'], time()+3600); /* expire in 1 hour */
}
Затем проверьте, установлен ли cookie, и соответствующим образом отредактируйте свою бизнес-логику.
if(isset($_COOKIE['campaign'])) {
echo "Welcome back it looks like you came from the '" . $_COOKIE['campaign'] . "' campaign!";
}
Надеюсь это поможет.
Других решений пока нет …