在wordpress网站的登陆页面上,我有两个按钮。单击每个按钮会引导您进入同一页面,但我在每个按钮上都传递了一个查询字符串参数,以帮助我区分它们(因为我想调整页眉和页脚的颜色,并根据参数值显示/隐藏一些按钮) 。问题是,当我点击页面上的其他位置时,我丢失了查询字符串参数。有没有办法可以通过网站上的每个页面加载来保留该参数?
我在我的functions.php
中尝试了以下内容echo esc_url( add_query_arg( 'foo', 'bar' ) );
但这没有效果。有什么帮助吗?
答案 0 :(得分:0)
我会改用cookie。具体来说,我会使用jQuery Cookie: https://github.com/carhartl/jquery-cookie
您可以在按钮上设置数据值:
<button class="my_button" data="theme_one">
<button class="my_button" data="theme_two">
当用户点击按钮时:
jQuery(".my_button").click(function(event){
var theme = jQuery(this).data();
jQuery.cookie("theme", theme);
});
然后,在下一页上,您可以获取cookie值并执行任何操作:
var theme = $.cookie("theme");
if(theme) {
alert(theme);
}
查看jQuery Coolie插件文档,了解如何设置cookie持续时间。 使用此方法,您可以将数据保存在用户的计算机上,而不必担心在丑陋的查询字符串中传递数据。
在上面的代码示例中,您可能需要阻止该事件,然后在设置cookie后将浏览器发送到设置的URL。这实际上取决于你已经在做什么。