로그인 실패 시 워드프레스 테마 내의 로그인 페이지로 이동

안녕하세요 -!

코스모스팜 회원가입관리로 회원을 관리하려고 하고 있습니다.

 

로그인 실패 시에 제목과 같이 테마 내의 로그인 페이지로 이동하게 됩니다.

테마 내의 로그인 기능이 아닌 숏코드를 넣은 페이지로 이동하게 하고 싶은데 방법이 없을까요 ㅜㅜ ?

+)

add_filter('wpmem_login_failed', 'my_wp_login_failed', 10, 1);
function my_wp_login_failed($str){
	echo "<script>alert(\"올바른 정보를 입력해주세요\"); history.go(-1)</script>";
	exit;
}

검색해보니 이 코드가 있어서 넣어보았지만 작동하지 않았습니다..

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    코스모스팜 회원관리 플러그인의 필수 초기 세팅 방법대로 설정하셨는지요?

    ※ 필수 초기 세팅 방법

    1. 반드시 워드프레스 숏코드로 3개의 페이지를 모두 만들어 주세요.

    해당 페이지에 아래 숏코드를 붙여넣기 하시면 폼이 생성됩니다.

    ① 회원가입 숏코드: [wpmem_form register]

    ② 사용자 프로필 숏코드: [wpmem_profile register=hide]

    ③ 로그인 숏코드1: [cosmosfarm_members_login_form]

    (또는 로그인 숏코드2: [wpmem_form login] 로그인 완료, [wpmem_field field=user_login]님 환영합니다. [/wpmem_form])

    2. 그 다음 워드프레스 관리자 페이지 -> 회원가입관리 -> 설정 페이지에서 앞서 만든 3개 페이지를 선택해주세요.

     

    워드프레스 관리자 -> 설정 -> WP-Members -> WP-Members 옵션 탭에서

    페이지 설정도 하신 후에 확인해보시겠어요?

    그래도 해결되지 않는다면

    아래의 코드를 활용해보세요.

    add_filter('login_url', 'login_url_20200819', 999, 2);
    function login_url_20200819($login_url, $redirect_to){
    	if(!is_admin()){
    		$cosmosfarm_members = new Cosmosfarm_Members();
    		
    		$option = get_cosmosfarm_members_option();
    		
    		if(isset($_GET['redirect_to']) && $_GET['redirect_to']){
    			$redirect_to = '';
    		}
    		else if($option->login_page_id == get_the_ID()){
    			$redirect_to = '';
    		}
    		else if(wpmem_login_url() == get_permalink()){
    			$redirect_to = '';
    		}
    		
    		$redirect_to = $cosmosfarm_members->login_redirect($redirect_to);
    		
    		if($option->login_page_id || $option->login_page_url){
    			if($option->login_page_id){
    				if($redirect_to){
    					$login_url = add_query_arg(array('redirect_to'=>urlencode($redirect_to)), get_permalink($option->login_page_id));
    				}
    				else{
    					$login_url = get_permalink($option->login_page_id);
    				}
    			}
    			else if($option->login_page_url){
    				if($redirect_to){
    					$login_url = add_query_arg(array('redirect_to'=>urlencode($redirect_to)), $option->login_page_url);
    				}
    				else{
    					$login_url = $option->login_page_url;
    				}
    			}
    		}
    		else if(wpmem_login_url()){
    			$login_url = wpmem_login_url($redirect_to);
    		}
    	}
    	return $login_url;
    }

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

  • 안녕하세요-!

    답변으로 남겨주신 코드를 삽입해보았는데 크리티컬 오류가 발생합니다 .. !

     

    off-match.com 

    해당 홈페이지 입니다.

  • 코드 추가 후 페이지에 크리티컬 오류 관련해서 메시지가 표시된다면

    디버그 모드를 활성화해서 오류 메시지가 있는지 확인해보시겠어요?

    워드프레스 에러 확인하기 - 디버그 모드 활성화 방법

     

    만약, 안내해드린 코드로도 해결이 되지 않는다면

    테마 쪽에 어떠한 설정이나 코드 문제일 수도 있습니다.

    테마 쪽에 관련 설정이 있는지 확인해보시고

    테마 제작자에게도 문의해보시는 게 좋을 듯합니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기