我设置了一个WordPress站点,我遇到了一个非常奇怪的问题。我已经为订阅者设置了一个登录页面,如果登录不成功,我希望页面重定向回我的自定义登录页面,而不是wp-login.php页面。为了解决这个问题,我在wp-login.php中添加了以下代码。
// 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()函数而不是header(),它仍然不能重定向。
不仅仅是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";}它打印出' sent‘,所以标题已经被发送了,看看下面这段
发布于 2011-12-12 15:52:59
试试这个:
<?php wp_redirect( 'http://www.example.com', 301 ); exit; ?>备注
HTTP/1.1状态代码302是一个临时重定向。如果页面已永久移动,请使用HTTP状态代码301。
https://stackoverflow.com/questions/8471148
复制相似问题