안녕하세요?
코스모스팜 로그인후 리다이렉트가 작동하지않아 문의드리려합니다.
로그인폼은 코스모스팜 회원관리 로그인폼 그대로 사용하고있구요
우커머스를 같이 사용하고있습니다.
적용한 소스는 아래와 같습니다.
add_filter('cosmosfarm_members_login_redirect_to', 'my_login_redirect_to', 999);
function my_login_redirect_to($redirect_to){
$redirect_to = '<script>window.location.href="https://naver.com"</script>';
return $redirect_to;
}
add_filter('woocommerce_login_redirect', 'wc_login_redirect');
function wc_login_redirect( $redirect_to ) {
$redirect_to = '<script>window.location.href="https://daum.net"</script>';
return $redirect_to;
}
function my_login_redirect( $redirect_to, $request, $user ) {
return 'http://www.cosmosfarm.com/'; // 주소 수정해주세요.
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
실제로 해보니 셋 중 하나도 작동하지않는거같네요
현재는 로그인시엔 myaccount 페이지로 리다이렉트됩니다.
제가 놓친 것 또는 잘못된 것이 있나요?
코스모스팜 회원관리 플러그인 쪽 설정은 동작하지 않는지요?
올려주신 코드 대신 아래의 코드로 교체해서 확인해보시겠어요?
add_action('wp_login','auto_redirect_after_login');
function auto_redirect_after_login(){
echo '<script>window.history.go(-2);</script>';
exit;
}
고맙습니다.
답변 감사합니다.
로그인후 이전페이지로 이동하길 희망해서
$redirect_to = '<script>window.location.href="history.go(-1);"</script>';
return $redirect_to;
를 사용하려했습니다.
만약 wp_redirect를 사용하여 이전페이지로 가려면
add_action('wp_login','auto_redirect_after_login');
function auto_redirect_after_login(){
$url = '<script>window.location.href="history.go(-1);"</script>';
wp_redirect($url);
exit;
}
위 코드와 같이 사용하면 URL이
https://현재도메인/scriptwindow.location.href=history.go(-1);/script
로 이동되네요.
좋은 방법 있을까요?
안녕하세요~^^
코스모스팜 회원관리 플러그인을 사용 중이시라면
워드프레스 관리자 -> 회원가입관리 -> 설정 페이지에서 로그인 완료후 이동 페이지를 설정하실 수 있습니다.
올려주신 코드에서 아래의 코드는
$redirect_to = '<script>window.location.href="https://naver.com"</script>';
아래의 코드처럼 적용해보세요.
$redirect_to = 'https://naver.com';
사용 중이신 테마나 다른 플러그인 쪽에서도 로그인 완료후 이동 페이지를 별도로 설정하고 있을 수도 있습니다.
wp_login 액션을 활용해서 강제로 이동되게 할 수 있습니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해서 활용해보시겠어요?
add_action('wp_login','auto_redirect_after_login');
function auto_redirect_after_login(){
wp_redirect('https://cosmosfarm.com');
exit;
}
고맙습니다.