programing

WordPress Login_direct가 작동하지 않음

codeshow 2023. 3. 8. 21:39
반응형

WordPress Login_direct가 작동하지 않음

WordPress 3.7.1을 사용하는 웹 사이트에서 작업하고 있으며 로그인 시 redirect_to URL 매개 변수를 통해 사용자를 리디렉션하려고 합니다.

로그인 폼의 백엔드에 redirect_to GET 파라미터가 표시되어 로그인 송신에 redirect_to POST 값이 포함되어 있는 것을 확인했습니다.하지만 그게 잘 안 되는 부분이야

링크 및 사용자 자격 정보 삭제

로그인 시(이 게시물에 기재되어 있는Admin acct 와 Subscriber acct 의 양쪽 모두에 대해서), 사용자는 redirect_to 파라미터의 URL 대신 WP 대시보드로 이동합니다.

allowed_redirect_hosts가 설정되어 있으며 커스텀 플러그인 파일에 다음 코드가 포함되어 있습니다(거의 이것입니다).

add_filter( 'allowed_redirect_hosts' , 'glue_allowed_redirect_hosts' , 10 );
function glue_allowed_redirect_hosts($content){
    $content[] = 'app.realestategradschool.com';
    $content[] = 'dev-app.realestategradschool.com';
    $content[] = 'app.realestategradschool.local';
    return $content;
}

이 문제를 해결하기 위해 다른 모든 플러그인을 비활성화했습니다.

편집: login_redirect를 사용할 수 없습니다.모든 로그인을 리다이렉트 할 생각이 없기 때문입니다.방문자가 다른 사이트에서 로그인 페이지로 전송되는 경우에만(oAuth를 사용하여 로그인...)oAuth 동작...리다이렉트가 아닌 것)

편집: 현용 솔루션:

function glue_login_redirect($redirect_to,$request='',$user=null){
    //using $_REQUEST because when the login form is submitted the value is in the POST
    if(isset($_REQUEST['redirect_to'])){
        $redirect_to = $_REQUEST['redirect_to'];
    }
    return $redirect_to;
}
add_filter('login_redirect','glue_login_redirect',999);

사용할 수 있습니다.login_redirect필터링을 실시합니다.http://codex.wordpress.org/Plugin_API/Filter_Reference/login_redirect 를 참조해 주세요.

이게 당신이 찾고 있는 거라고 생각해요.

이렇게 하면 일반적으로 모든 로그인이 리다이렉트됩니다.필요할 때만 리디렉션할 수 있도록 URL에서 쿼리 문자열 매개 변수를 사용할 수 있습니다.매개 변수가 존재하는 경우 해당 매개 변수를 확인합니다.

템플릿 함수에 이 기능을 추가해 보십시오.php 파일:

add_action( 'login_form' , 'glue_login_redirect' );
function glue_login_redirect() {
    global $redirect_to;
    if (!isset($_GET['redirect_to'])) {
        $redirect_to = 'YOURURLHERE';
    }
    else{
        $redirect_to = $_GET['redirect_to'];
    }
}

이 코드가 도움이 될지도 몰라

<input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" /> 

사용자를 로그인원으로 리다이렉트 합니다.예.홈페이지나 투고에서 로그인하는 경우.그 후, 그 로그인은 홈페이지 또는 로그인 페이지로 리다이렉트 됩니다.

이 코드 주요 부분은 다음과 같습니다.

<?php echo $_SERVER['REQUEST_URI']; ?>

언급URL : https://stackoverflow.com/questions/20356880/wordpress-login-redirect-to-not-working

반응형