我试图在执行重定向之前检查BOTH $ _GET条件是否为真,但我的代码只是检查第二个是否为真。
这就是我所拥有的:
Value Difference
(-3) 3
(-2) 4
(-1) 5
(1) 3 + 1 1
(2) 4 - 2 -2
(3) 5 + 3 3
(4) 3 + 1 + 2 2
(5) 4 - 2 + 1 1
(6) 5 + 3 - 2 -2
(7) 3 + 1 + 2 - 1 -1
它正在做的是,如果我将utm_campaign设置为= testing123,它将不会重定向。这很好,我希望它两者都需要。如果我将utm_campaign设置为= testing123并将utm_source设置为= testing456,那么它确实会重定向,到目前为止很好。现在,如果我只将utm_source设置为= testing456它也会重定向,这意味着它只检查第二个条件是否为真,但是我需要两个都是真的或者要让脚本退出,我似乎无法弄清楚为什么它没有按照它应该的方式工作。
这是在Wordpress header.php文件中,不确定它是否有所作为。
答案 0 :(得分:0)
使用引号arround string
if($_GET['utm_campaign']== 'testing123' && $_GET['utm_source']=='testing456') {
答案 1 :(得分:0)
我认为您应该检查参数是否已设置并稍微格式化代码。此外,无需声明函数preserve_qs()
。
if (strpos($url,'this-is-an-example-post') !== false) {
if(isset($_GET['utm_campaign']) && isset($_GET['utm_source']) && $_GET['utm_campaign']=='testing123' && $_GET['utm_source']=='testing456') {
$qs = "?" . $_SERVER['QUERY_STRING'];
if (empty($_SERVER['QUERY_STRING']) && strpos($_SERVER['REQUEST_URI'], "?") === false)
$qs = "";
header("Location: http://example123.com/this-is-an-example-post" . $qs);
exit;
}
}