当用户浏览网站时如何保持查询字符串参数

时间:2019-03-08 04:23:15

标签: javascript php jquery wordpress

我遇到一种情况,我想在Wordpress网站上的两次点击之间保留查询字符串。

例如 www.mywebsite.com/?utm_source=mysource

从此链接导航到网站的另一页面时,查询字符串应保留。

例如 www.mywebsite.com/anotherpage/?utm_source=mysource

因此,我决定一种简单的方法是修改javascript,以便在单击锚标记时触发我的函数。

//Ensures that the query string persists between clicks on the site
  $("a").on("click", function (event) {
    event.preventDefault();   
    window.location.href = event.currentTarget.href + window.location.search;  
  });

但是,这不适用于页面上的其他元素,例如不是锚标签的按钮,但仍包含在单击时修改窗口位置的href。例如,在主题的php脚本中,有如下代码:

<button onClick="location.href=www.anotherwebsite.com"</button>

我可以实现另一个对按钮元素实现相同行为的函数,但是我担心,每当添加另一个元素时,我都必须检查一种新类型。有没有更好的方法来确保无论何时更改窗口位置,我的查询字符串都能持久存在?

仅供参考:我不允许将信息放入cookie中,这是我想跟踪参数的另一种方式。

1 个答案:

答案 0 :(得分:1)

一些建议
客户端
使用jquery时,find clickable elements可能会更容易,或者如果尚未提供有用的主题,则让WordPress主题添加css类。

服务器端
在WordPress中,使用会话(但请参见下文),以及使用add_query_arg()的重写或重定向规则。
关于会话和WordPress的注意事项:您不能依赖PHP会话。而是通过现有的插件(例如WP Session Manager或WordPress Native PHP Sessions)使用数据库。