我在Wordpress
网站上创建了一个按钮,允许我的用户将其位置从'London'
更改为'Manchester'
。
该按钮使用$_POST
启动PHP功能。
作为PHP
函数的一部分,我希望'clean'
用户所在页面的URL
(即删除查询字符串),因为如果有任何查询字符串的话改变位置,当他们尝试使用过滤器时,它会弄乱。
我找到了一种获取干净网址的方法
$url=strtok($_SERVER["REQUEST_URI"],'?');
我认为我可以使用
wp_redirect($url);
使用干净的URL
刷新页面 - 但似乎不起作用。
我认为这个问题唯一的原因是它与一个由$ _POST请求启动的函数有关,而不是挂钩到正在加载的动作。因此,页面未完全重新加载。我已经查看了其他问题,告诉我如何删除查询字符串(这很有用)但最后没有重定向我。
任何想法都非常感激。
答案 0 :(得分:0)
你可以尝试
header("Location: ".$url);
答案 1 :(得分:0)
请尝试
$url = strtok((empty($_SERVER['HTTPS']) ? 'http://' : 'https://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], '?');
答案 2 :(得分:0)
我最终使用Javascript来刷新页面,其中一个函数删除了查询字符串:
<form method="post" onsubmit="setTimeout(function () { window.location = window.location.pathname; }, 150)">
<input type="submit" name="switchman" id="switchman" value="Switch to Manchester" />
</form>