0

我们已经开始在我们网站的 url 上附加相当简单的自定义参数来跟踪营销来源。例如 www.example.com?campaign=facebook&device=mobile。

问题是,WordPress 阻止这些自定义参数从一页推送到下一页。我读过有一种方法可以(1.)添加一个 cookie 来存储这些参数,直到应用程序被填写,或者(2.)向 WordPress 网站的 PHP 添加一些代码,使其能够识别这些参数并允许它们通过。我想#2更容易做到,但我真的不知道。

我找到了这段代码:

function add_query_vars_filter( $vars ){
  $vars[] = "campaign";
  return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );

但它似乎不起作用。我不确定我是否写错了代码,把它放在了错误的位置,或者完全使用了错误的东西。我把它放在了 WordPress 网站的 functions.php 文件中。任何帮助将不胜感激!

4

1 回答 1

0

我肯定会选择选项一,并在页面加载后立即设置一个 cookie。您不希望在网站上的每个链接周围都有一个查询字符串变量。

首先,检查 $_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!";
}  

希望这可以帮助。

于 2016-07-14T04:40:58.300 回答