我已经设置了一个WordPress网站,我遇到了一个非常奇怪的问题。我为订阅者设置了一个登录页面,如果登录失败,我希望页面重定向到我的自定义登录页面,而不是wp-login.php页面。要解决这个问题,我已经将下面的代码添加到wp-login.php中。重定向功能不再在WordPress的网站上工作
// if ($shake_error_codes && $wp_error->get_error_code() && //in_array($wp_error->get_error_code(), $shake_error_codes))
// add_action('login_head', 'wp_shake_js', 12);
//I have replaced the code on line 55 with the following
if ($shake_error_codes && $wp_error->get_error_code() && in_array($wp_error->get_error_code(), $shake_error_codes)){
header("Location: index.php/login?login_error=1"); exit;
}
的重定向不工作,我也用了wp_redirect()函数 代替头()的,它仍然不会重定向。
这不仅是wp-login页面出现此问题,我还测试了其他页面上的重定向。例如,在我的家庭模板页面home.php中,为了测试的目的,我在页面顶部添加了以下代码。
$location = 'http://www.google.com';
wp_redirect($location);
而且还
$location = 'http://www.google.com';
header("Location: $location");
我不明白为什么任何重定向将无法正常工作,没有给出所以其像重定向被阻止的错误。什么能可能会造成这个问题,请协助,谢谢
只是一个更新,我加入以下代码到网页
if(headers_sent()){echo "sent";}
顶部它打印出“发送”这样的标题已经已发送,寻找到这个
显示页面还是只是一个空白页面?假设是重定向时,你看到了什么?您是否在header()之前尝试了任何调试方法,如var_dump('test')以确保它到达那里?你有没有设置PHP来显示错误? – Vigrond
没有显示错误,重定向只是被忽略,页面加载正常,不,是的PHP设置为显示错误,如果我添加任何无效的代码,我会得到一个错误。我会尝试你提到的调试方法,并回复给你谢谢 – Charl777