비로그인자가 결제를 클릭할 때, 바로 로그인 페이지로 넘어가게 할 수 있을까요

안녕하세요, 항상 감사드립니다.

우커머스 관련하여 여쭤보려고 이렇게 문의드립니다.

현재 우커머스 세팅을 통해서 비 로그인자가 결제를 하지 못하게 만들어 놓았습니다.

반드시 로그인을 해야만 결제를 할 수 있도록 만든 것이지요. 

그런데 문제는 비 로그인자가 결제하기를 누르면, 그 때 그냥 <결제 하기 위해서는 로그인이 필요합니다>라는 문구만 나오고 로그인 페이지는 나오지 않는다는 것입니다.

예를 들어 상품을 장바구니에 넣은 후 결제하기 버튼을 누르면 바로 Checkout 페이지로 넘어갑니다.

 

로그인 한 상태에서는 Checkout 페이지가 결제를 하는 곳이기에 맞지만,

로그인을 하지 않은 경우에는 Checkout 페이지 대신에 로그인을 하는 창이 뜨는 게 맞지 않나 싶습니다.

 

혹시 어떻게 해야 그렇게 만들 수 있을까요?

감사합니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    Guest checkout 에서 모든 체크박스를 해제하시면 어떻게 동작하시나요?

    코스모스팜 회원관리 플러그인 사용하고있다면 checkout 페이지를 접근 제한해보시면 어떨까요?

    워드프레스 페이지 접근 제한 기능 소개

    그래도 안된다면 페이지 리디렉션 코드를 작성해서 넣어야 할 듯합니다.

    확인해보시겠어요?

    고맙습니다.

  • 안녕하세요, 답변 감사합니다. 제가 아까 답변을 달고 버튼을 누르니 <에러가 있습니다. 고객지원 메일로 연락주세요> 라는 문구가 나왔습니다. 그래서 어찌된 일인지 몰라 실험을 해보려 새로운 글을 작성해보았는데 정상적으로 등록이 되어 다시 글을 써보고자 했는데 또 에러가 나서 이렇게 메일을 씁니다. 아래 링크가 실험삼아 써본 글입니다. 제가 앞서 쓴 질문은 이것입니다. 제가 삭제를 하려고 했는데 삭제 하는 기능이 없어서 이렇게 메일을 드립니다. 쓸데없는 글이 게시판에 추가 된 것 같아 죄송합니다.

    본론으로 들어가보면, Guest checkout 에서 모든 체크박스를 해제하여도 여전히 <로그인이 필요합니다>라는 문구만 뜰뿐 로그인창은 뜨지 않습니다.

    저는 코스모스팜 회원관리 플러그인을 사용하고 있기 때문에 말씀하신대로 페이지 접근 제한 기능을 사용하였고 이제는 로그인창이 뜨는 것을 확인했습니다. 하지만 크게 2가지 문제가 있어서 그 부분을 설명드리고자 합니다.

    1. 저는 <정기 결제>를 위해서 코스모스팜 플러그인을 사용하고 있습니다.  또한, 고객분들의 편의를 위해 

    "전체 콘텐츠를 열람하기 위해서는
    멤버쉽 구독이 필요합니다.

    이미 멤버십 구독이 완료되신 분들은
    로그인을 해주세요."

    라는 문구를 로그인창 위에 삽입하였습니다.

    이는 위 페이지에서는 적절한 문구가 맞습니다. 하지만 문제는 결제 페이지에서 역시 똑같은 문구가 나온다는 것입니다. 저는 결제 페이지만 다른 문구가 나오게 하고 싶습니다. <결제를 하기 위해서는 로그인이 필요합니다> 라는 문구 같은 것으로 말입니다. 혹시 이게 가능할까요?

     

    2. 만약 이것이 불가능한 경우를 고려하여 저는 결제페이지에서 CSS로 문구를 제거하는 작업을 해보았습니다. 저는 아래와 같은 코드를 삽입하였습니다.(현재는 제가 앞서 적은 1번 문제의 확인을 위해 이 코드를 비활성화 한 상태입니다.)

    #post-2290 > div > div.cosmosfarm-members-form.page_restriction.active {display:none !important;}

    문제는 이 코드를 넣었을 때 문구가 바로 사라지는 것이 아니라, 문구가 보이고 몇 초 후에 사라지는 현상이 발생합니다. 

    저는 1번에서 말씀드린 바와 같이 결제 페이지만 다른 문구를 넣는 것이 최상이라고 생각합니다. 하지만 그것이 불가능하다면 제가 2번에서 했듯이 CSS를 통해 결제 페이지만 문구를 없애버릴 수도 있을 것입니다. 하지만 이 경우 말씀 드린 바와 같이 문구가 처음에 나오는 현상이 발생합니다.

    혹시 이 문제를 어떻게 해결할 수 있을까요?

    정말 감사드립니다.

  • 안녕하세요, 답변 감사드립니다.

    또한 죄송하게도 제가 결제페이지 링크를 잘못 걸었습니다. 결제 페이지는 링크가 걸리지 않아서 설명이 필요할 것 같습니다.

    결제 페이지에 들어가면 로그인 창 위에

    "전체 콘텐츠를 열람하기 위해서는
    멤버쉽 구독이 필요합니다.

    이미 멤버십 구독이 완료되신 분들은
    로그인을 해주세요."

    위와 같은 문구가 나오는데, 아래 이미지와 같이 설정을 했기 때문입니다.

    https://imgur.com/bghmlrL

    앞서 말씀드렸다시피 이 문구가 필요한 것이 맞습니다. 다만 저는 결제 페이지만 문구를 다르게 설정하고 싶습니다.

    혹시 이게 가능할까요?

    가능하지 않다면 앞서 제가 쓴 CSS 코드로 결제 페이지만 문구가 나오지 않게 하고 싶은데, 유튜브 영상에서 처럼 문구가 나왔다 사라지는 현상이 발생합니다.

    정리하자면, 가장 좋은 것은 결제 페이지만 문구를 다르게 설정하는 것이고 그게 안된 다면 CSS를 통해 결제 페이지에 나오는 문구를 없애고 싶습니다.

    어떻게 하면 가능할까요? 정말 감사합니다.

  • 아래 코드를 사용해보시겠어요?

    원하는 페이지에 로그인이 안되어 있을 경우 메시지 내용과 로그인 폼을 출력할 수 있습니다.

    add_filter('the_content', 'my_page_restriction_20191205', 99, 1);
    function my_page_restriction_20191205($content){
    	global $post;
    	
    	if($post && $post->ID == '2290'){ // 실제 페이지 ID 값으로 변경
    		if(!is_user_logged_in()){
    			$page_restriction_message = '<p>메시지 내용</p>';
    			
    			$_REQUEST['redirect_to'] = $_SERVER['REQUEST_URI'];
    			$content = wpmem_inc_regmessage('page_restriction', $page_restriction_message) . wpmem_inc_login('page_restriction');
    		}
    	}
    	
    	return $content;
    }

    테마의 functions.php 파일 하단에 코드를 추가해주세요.

    고맙습니다.

  • 와! 해결하였습니다. 정말 감사합니다.

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