programing

Wordpress의 로그인/등록 페이지를 사용자 지정 로그인/등록 페이지로 리디렉션

telebox 2023. 4. 2. 10:18
반응형

Wordpress의 로그인/등록 페이지를 사용자 지정 로그인/등록 페이지로 리디렉션

사용자 시스템이 있는 웹사이트를 가지고 있습니다.워드프레스의 사용자 시스템을 그 웹사이트에 통합하고 싶은데, 그래도 그 웹사이트의 등록/로그인 페이지를 사용하고 싶습니다.Wordpress의 로그인이나 등록 양식을 사용하여 누구도 로그인 또는 등록을 할 수 없게 하고 싶습니다.대신 Wordpress 로그인/등록 페이지에 접속하려고 할 때 해당 페이지가 내 로그인/등록 페이지로 리다이렉트되도록 합니다.

이 일을 할 수 있는 방법이 있을까요?구글을 사용해 봤지만, 사용자가 로그인하거나 등록한 후 리다이렉트하는 것밖에 찾을 수 없었습니다.

잘 부탁드립니다.

그러기 위해서는 로그인/등록 페이지를 커스텀페이지로 리다이렉트 할 필요가 있습니다.이 코드를 입력해 주세요.functions.php활성화된 테마 폴더 아래에 파일을 저장합니다.사용자 지정 페이지 경로를 인수로 전달합니다.

 add_action('init','possibly_redirect');

function possibly_redirect(){
 global $pagenow;
 if( 'wp-login.php' == $pagenow ) {
  wp_redirect('http://google.com/');
  exit();
 }
}

wp-login에 대해서만 직접 액세스를 제한합니다.php'는 POST 또는 GET 요청(커스텀 에이잭스 로그인 폼에 유용) 없이 고급 기능을 사용합니다.

function possibly_redirect(){
  global $pagenow;
  if( 'wp-login.php' == $pagenow ) {
    if ( isset( $_POST['wp-submit'] ) ||   // in case of LOGIN
      ( isset($_GET['action']) && $_GET['action']=='logout') ||   // in case of LOGOUT
      ( isset($_GET['checkemail']) && $_GET['checkemail']=='confirm') ||   // in case of LOST PASSWORD
      ( isset($_GET['checkemail']) && $_GET['checkemail']=='registered') ) return;    // in case of REGISTER
    else wp_redirect( home_url() ); // or wp_redirect(home_url('/login'));
    exit();
  }
}
add_action('init','possibly_redirect');

올바른 액션 후크는 에서만 기동하는 것입니다.

여기, 아니야?action=action-name이 요청은 메인 로그인 페이지입니다.

add_action('login_init', function(){
    if( !isset( $_GET['action'] ) ) {
        wp_redirect( 'http://example.com' );
    }
});

모든 요청에 대해 특정 후크를 사용할 수 있습니다.login_form_ACTION-NAME즉,postpass,logout,lostpassword,retrievepassword,resetpass,register그리고.login. 예:

add_action('login_form_register', function(){
    wp_redirect( site_url('custom-registration/') );
});

커스텀 로그인 페이지를 사용하고 있지만, 여전히 wp_login_form()을 사용하고 있는 경우는, 폼이 wp-login에 POST 하는 것에 주의해 주세요.따라서 리다이렉트하기 전에 $_POST가 비어 있는지 확인해야 합니다.

function prefix_wp_login_redirect() {
  global $pagenow;  
  if( $pagenow == 'wp-login.php' && empty($_POST)) {
    auth_redirect();
    exit();
  }
}

이 경우, E-Mobile Server의login_head거기서 리다이렉트를 발행합니다.

언급URL : https://stackoverflow.com/questions/1976781/redirecting-wordpresss-login-register-page-to-a-custom-login-registration-page

반응형