我必须在我的网址末尾添加一个查询,如下所示:
http://www.somewordpressite.com/?page_id=57?login=failed
现在我需要检查'?login = failed'是否存在,所以我可以加载正确的模板。
我尝试了很多变种,但我似乎无法抓住它。
<?php
$checkurlquery[] = $_SERVER['QUERY_STRING'];
//echo json_encode($_GET, JSON_HEX_TAG);
foreach($checkurlquery as $key => $v){
$dice = $checkurlquery[$key];
echo ($dice);
}
?>
结果:page_id = 57?登录=失败
最终,我只想到达这里:
if ( //LOGIN failed )) {
get_template_part( 'login', 'failed' );
} else {
get_template_part( 'login', 'form' );
}
如何检查登录=失败,以便我可以使用它来加载正确的模板部分? 感谢。
修改:是的,我可以更改网址,因此它可以是:http://www.somewordpressite.com/?page_id=57&login=failed,但却产生了问题。因为Wordpress使用'?',所以如果我在主页上,并且在登录时失败,我会收到404错误:
此网址正常并抓取索引页面:
www.site.com/?login=failed
此网址是404错误:
www.site.com/&login=failed
编辑:这是Wordpress functions.php中所需的更新功能: Redirect after login, Wordpress URLs
然后在header.php(或您选择的地方)中添加:
<?php
if(isset($_GET['login']) === true and $_GET['login'] === 'failed')
{
get_template_part( 'login', 'failed' );
} else {
get_template_part( 'login', 'form' );
}
?>
答案 0 :(得分:2)
您不能使用普通查询字符串
http://www.somewordpressite.com/?page_id=57&login=failed
并使用类似
的内容if ($_GET['login'] == 'failed') {
get_template_part( 'login', 'failed' );
} else {
get_template_part( 'login', 'form' );
}