'wp_module'이 작동하지 않습니다.
HTML 양식 입력이 있습니다.코드는 다음과 같습니다.
<?php if(isset($_POST['login'])) {
wp_redirect("/");
}
<form accept-charset="UTF-8" method="post" >
...
<center><input name="login" type="submit" value="вход" />
</form>
하지만 리다이렉트가 작동하지 않습니다.debug plugin을 설치합니다.wp로 리다이렉트 됩니다.
http://i.stack.imgur.com/Im4eE.png
PS:
<?php wp_redirect( 'http://www.example.com', 301 ); exit; ?>
그것도 안 돼요.
다음 코드를 사용합니다.-
function app_output_buffer() {
ob_start();
} // soi_output_buffer
add_action('init', 'app_output_buffer');
또는 ob_start()를 'init'에 후크하는 함수의 첫 번째 행으로 추가합니다.
추가되는 것을 잊지 마세요.
exit();
에 전화하신 직후에
wp_redirect($url);
링크:
https://tommcfarlin.com/wp_redirect-headers-already-sent/
내 생각에 네 코드는 그렇게 시작하지 않아if
조건!
wp_redirect
헤더가 송신되기 때문에, 그 전에 인쇄/삭제하면, 에러가 발생합니다.
그 전에 다음 사항을 확인합니다.
if(isset($_POST['login']))
{
wp_redirect("/");
exit;
}
캐릭터 출력은 없습니다.또, 넣는 것도 잊지 말아 주세요.exit;
직후에wp_redirect
.
다음과 같이 사용하십시오.
ob_clean();
$url = get_home_url() . '/login';
wp_redirect($url);
exit();
아니면 리다이렉트 목적으로 Javascript를 사용할 수도 있습니다.
<script>window.location='http://www.google.com'</script>
다음을 시도합니다. 그러면 오류 보고도 강제로 실행됩니다.
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);
flush();
header("Location: http://www.website.com/");
die('should have redirected by now');
PHP 헤더 리다이렉트가 작동하지 않음
편집:
그 때문에, 당신에게는headers already sent
warning 코드 맨 앞에 다음을 추가해 보십시오.
ob_start();
장기적으로는 PHP 스크립트의 모든 출력을 변수에 버퍼링해야 합니다.여기에는 헤더와 본문 출력이 포함됩니다.그런 다음 스크립트의 마지막에 필요한 출력을 수행합니다.
문제의 가장 빠른 해결책은 ob_start()를 스크립트에 추가하는 것입니다.이 스크립트에 ob_start()가 필요한 경우입니다.모든 스크립트에 필요한 경우 헤더에 첫 번째 항목으로 추가합니다.php 파일.
그러면 PHP의 출력 버퍼 기능이 활성화됩니다.PHP 에서는, 그 시점에서 HTTP 헤더를 송신할 필요가 있는 경우(에코 또는 인쇄를 실행한다).출력 버퍼링을 켜면 스크립트로 출력할 수 있지만, PHP는 버퍼가 플러시될 때까지 헤더를 전송할 필요가 없습니다.이 기능을 켜고 끄지 않으면 스크립트 실행이 완료된 후 PHP가 버퍼에 있는 모든 항목을 자동으로 플러시합니다.대부분의 경우 전원을 켜는 것만으로 나쁠 것은 없으며 구성에 따라서는 약간의 성능 향상을 기대할 수 있습니다.
경고에서: 헤더 정보를 수정할 수 없습니다. 헤더가 이미 전송되었습니다.
저는 같은 문제에 직면했지만, 이 해결책들 중 어느 것도 제게는 효과가 없었습니다.
이 페이지에서 유일하게 달라진 점이 있다면wp_redirect
래래 get_header()
네, 네, 네, 네.
것을 get_header();
또는 템플릿에 머리글이나 바닥글과 같은 내용을 만들 수 있는 워드프레스 기능을 사용할 수도 있습니다.그렇지 않으면 리디렉션이 작동하지 않습니다.
는 이 .ob_start();
, 만약 , 당신이 하더라도.ob_start();
다이이 이키 기키 이키 기키 이키 이키 이키 이키 이키 이키
다음 코드를 사용해 보십시오.
wp_redirect(get_permalink($post->ID));
exit;
언급URL : https://stackoverflow.com/questions/19587154/wp-redirect-is-not-working
'programing' 카테고리의 다른 글
스프링 부트에서의 여러 Web Security Configurer Adapter 사용 (0) | 2023.03.09 |
---|---|
jQuery / Ajax - $.ajax() 콜백에 매개 변수 전달 - 사용하기 좋은 패턴? (0) | 2023.03.09 |
특정 제품 카테고리에 따른 WooCommerce 체크아웃 메시지 (0) | 2023.03.04 |
외부 템플릿에서 $compile 사용(템플릿)URL)의 각도 지시어 (0) | 2023.03.04 |
커스텀 Divi 모듈 작성 방법 (0) | 2023.03.04 |