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";}
의 상단에 다음 코드를 지원하십시오 이
페이지가 표시되거나 그냥 빈 페이지입니까? 리디렉션이 있다고 가정 할 때 무엇을 볼 수 있습니까? 헤더() 앞에 var_dump ('test')와 같은 디버그 메소드를 시도 했습니까? 오류를 표시하도록 PHP를 설정 했습니까? – Vigrond
오류가 표시되지 않고 리디렉션이 무시되고 페이지가 정상적으로로드됩니다. 예, PHP가 오류를 표시하도록 설정되었으므로 잘못된 코드를 추가하면 오류가 발생합니다. 내가 언급 한 디버그 방법을 시도해 주셔서 감사합니다. – Charl777