我有一个网站,人们将被发送到那里,带有各种促销代码查询字符串(这些字符串将随时更改),即www.example。com/?来源=电子邮件广告
如何捕获查询字符串,然后将其附加到站点中的所有URL。
我搜索了一个小时,找到了如何捕获查询字符串,以及如何将已知值附加到href上,但没有找到如何捕获未知字符串并将其附加到上。我只需要从?打开并将其附加到URL,而不管字符串是什么。
谢谢你的帮助!
我有一个网站,人们将被发送到那里,带有各种促销代码查询字符串(这些字符串将随时更改),即www.example。com/?来源=电子邮件广告
如何捕获查询字符串,然后将其附加到站点中的所有URL。
我搜索了一个小时,找到了如何捕获查询字符串,以及如何将已知值附加到href上,但没有找到如何捕获未知字符串并将其附加到上。我只需要从?打开并将其附加到URL,而不管字符串是什么。
谢谢你的帮助!
这个$_GET
全局存储所有查询字符串条目,您应该能够使用它。至于将它们附加到URL,可以在post_content
过滤以更新帖子/页面内容中的任何链接,以及各种permalink过滤器上的挂钩(例如。page_link
, post_link
, 等等)。
就个人而言,过滤器方法需要做大量工作才能确保覆盖网站上的所有链接。我建议您在页面加载时使用javascript来更新它们。下面是如何在jQuery中执行此操作
$(\'a[href]\').each(function(){
var href = $(this).attr(\'href\');
if(href.indexOf(\'?\') !== -1){
// Query string exists, append current query string
href += \'&\' + location.search.replace(/^\\?/, \'\');
}else{
// No query string yet, add it
href += location.search;
}
$(this).attr(\'href\', href);
});
Thelocation.search
包含页面的查询字符串。该函数将更新找到的任何链接,因此您可能希望对其进行优化,以仅覆盖与您的站点相关的链接(如果this.href
从站点的主url开始。如果页面加载后可能会创建任何链接,则需要将其重新编辑为click事件,以替换href
属性激发之前。
我不知道为什么需要这样做,但根据用途的不同,只需使用一些自定义代码将数据存储在$_SESSION
这样,他们就可以通过电子邮件访问站点,而不必到处保留查询字符串。
if(isset($_SESSION[\'source\'])){
$_SESSION[\'was_referred\'] = true;
}
if(isset($_SESSION[\'was_referred\'])){
// do stuff
}
WP multisite installation 5.2.11版插件Advanced Access Manager 6.5.4许可使用此插件创建和管理具有不同权限的不同级别的用户。已向卖方客服询问,无回复我们经常插入嵌入式代码,如下所示:<div id="buzzsprout-player-8580256"></div><script src="https://www.buzzsprout.com/1626286/8580256-24-05-2