Как передать пользовательскую переменную в качестве параметра URL в WordPress

Мы начали добавлять довольно простые пользовательские параметры в 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. Любая помощь будет принята с благодарностью!

0

Решение

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

Сначала проверьте запрос $ _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!";
}

Надеюсь это поможет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]