我遇到一种情况,我想在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中,这是我想跟踪参数的另一种方式。
答案 0 :(得分:1)
一些建议
客户端
使用jquery时,find clickable elements可能会更容易,或者如果尚未提供有用的主题,则让WordPress主题添加css类。
服务器端
在WordPress中,使用会话(但请参见下文),以及使用add_query_arg()
的重写或重定向规则。
关于会话和WordPress的注意事项:您不能依赖PHP会话。而是通过现有的插件(例如WP Session Manager或WordPress Native PHP Sessions)使用数据库。