programing

워드프레스에서 처음 로그인한 후 사용자를 리디렉션하시겠습니까?

goodsources 2023. 6. 10. 09:03
반응형

워드프레스에서 처음 로그인한 후 사용자를 리디렉션하시겠습니까?

이 코드는 사용자가 등록 후 처음 로그인하는지 여부를 확인합니다.사용자 지정 페이지로 리디렉션합니다.그렇지 않으면 홈 페이지 또는 관리 페이지로 리디렉션합니다.

 function mylogin_redirect() {
    global $user_ID;
    if( $user_ID ) {
        $user_info = get_userdata( $user_ID ); 
        // If user_registered date/time is less than 48hrs from now
        // Message will show for 48hrs after registration
        if ( strtotime( $user_info->user_registered ) > ( time() - 172800 ) ) {
            header("Location: http://example.com/custompage");
        } elseif( current_user_can( 'manage_options' )) {
            header("Location: http://example.com/wp-admin/");
        } else {
            header("Location: http://example.com/");
        }
    }
}
add_action('wp_head', 'mylogin_redirect');

하지만 효과가 없다고요?wp_head에 꽂히지 않는 것 같아요...login_redirect 필터를 사용하여 다음을 시도했습니다.

 function mylogin_redirect($redirect_to, $url_redirect_to = '', $user = null) {
    global $user_ID;
    if( $user_ID ) {
        $user_info = get_userdata( $user_ID ); 
        // If user_registered date/time is less than 48hrs from now
        // Message will show for 48hrs after registration
        if ( strtotime( $user_info->user_registered ) > ( time() - 172800 ) ) {
            return get_bloginfo('url') . "/custompage/";
        } elseif( current_user_can( 'manage_options' )) {
            return admin_url();
        } else {
            return get_bloginfo('url');
        }
    }
}
add_filter('login_redirect', 'mylogin_redirect');

로그인을 해도 다른 곳에서는 로그인을 할 수 없습니다.http://example.com/wp-login.php대신 빈 페이지를 사용합니다.

업데이트: 네, 무슨 일이 일어나고 있는지 모르겠습니다.필터 후크를 사용하여 두 번째 로그인 후에야 목적지에 도착할 수 있습니다.실제로 두 번째 로그인은 아니지만 로그인 버튼을 두 번째 클릭하면 됩니다.그렇게 했습니다: 자격 증명 입력 -> 로그인 -> (잘못된 페이지) -> 뒤로 누르기 버튼 -> 자격 증명 다시 입력 -> 로그인 -> (올바른 페이지)이상하다.

필터 호출을 이렇게 조정해야 합니다.

// filter name, callback, priority, accepted args
add_filter('login_redirect', 'mylogin_redirect', 10, 3);

WordPress에서 처음 로그인할 때 사용자 리디렉션: 쿠키 기반 솔루션 및 사용자 메타 테이블 기반 솔루션

언급URL : https://stackoverflow.com/questions/4267285/redirect-user-after-first-login-in-wordpress

반응형