다운로드 버튼을 클릭하면 로그인 후 다운로드가 되도록 만들 수 있을까요?

안녕하세요. 항상 좋은 답변을 주셔서 감사드립니다.

게시판을 뒤져서 해결을 해보려했는데 답을 내지 못하여 직접 여쭈어 보려 합니다.


http://snowballcampus.com/?page_id=19321

위 페이지에서처럼 다운로드 버튼을 클릭하면 회원가입 후에 다운로드 주소로 이동하게 하려합니다.
어떻게 코드를 구성하여야 할까요?

도움 부탁드리겠습니다.

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

    해당 사이트의 다운로드 버튼은 어떻게 추가하신 건지요?

     

    직접 프로그래밍이 가능하시다면

    아래의 코드를 활용해보시겠어요?

    <?php if(is_user_logged_in()):?>
    <a href="다운로드주소">다운로드</a>
    <?php else:?>
    <a href="회원가입주소">다운로드</a>
    <?php endif?>

    위의 코드에서 다운로드 주소와 회원가입주소를 실제 주소로 교체해주세요.

    위의 코드를 적용하시면 로그인 시에는 다운로드 주소로 이동하며

    비로그인 시에는 회원가입 주소로 이동합니다.

     

    is_user_logged_in 함수에 대한 자세한 내용은

    아래의 링크를 참고해보세요.

    https://developer.wordpress.org/reference/functions/is_user_logged_in/

     

    테마나 다른 플러그인의 기능으로 추가하신 거라면

    해당 테마 또는 플러그인에 로그인, 비로그인 사용자에 따라

    다르게 표시할 수 있는 설정이 있는지 확인해보셔야 할 듯합니다.

    고맙습니다.

  • 답변 감사드립니다. .

    지금 적용을 해봤는데,
    로그인을 하든 안하든 두 개가 모두 나타나고 있습니다.

    http://snowballcampus.com/?page_id=19321

    wp bakery 에디터에서 html 입력창으로 했는데 무엇이 문제일까요..
  • 안녕하세요.

    안내해드린 코드에 PHP 코드가 포함되어 있기 때문에

    wp bakery 플러그인 쪽에 추가하시면 정삭적으로 동작하지 않을 수도 있습니다.

    이럴 경우 숏코드를 직접 만들어서 추가해주셔야 할 듯합니다.

     

    1. 워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보세요.

    add_shortcode('download_link', 'my_download_link');
    function my_download_link(){
    	$html = '';
    	
    	ob_start();
    	?>
    	
    	<?php if(is_user_logged_in()):?>
    	<a href="다운로드주소">다운로드</a>
    	<?php else:?>
    	<a href="회원가입주소">다운로드</a>
    	<?php endif?>
    	
    	<?php
    	$html = ob_get_clean();
    	
    	return $html;
    }

     

    2. 아래의 숏코드를 페이지 또는 페이지 빌더 플러그인 쪽에 추가해보시겠어요?

    [download_link]

    고맙습니다.

  • 너무너무 감사드립니다.

    깔끔하게 해결되었습니다.

    유용하게 잘 사용하겠습니다.

    매번 감사드립니다.
  • 추가 질문을 드려야 할 것 같습니다..

     

    # 1. 이렇게 설정하니 로그인 후에는 홈으로 이동합니다.

    이 버튼만 별개로 로그인 후 원래의 페이지로 redirect 시킨 후 

    로그인 하자마자 다운로드가 진행되도록 할 수 있을까요? 

     

    별개의 로그인 페이지를 만들어서 다음과 같이 숏코드를 사용해봤는데

    [wpmem_form login redirect_to="https://snowballcampus.com/?page_id=19321"]

    작동이 되지 않습니다. 

     

    기본 설정에서 리다이렉트는 이전페이지로 설정해두었습니다. 

    잦은 질문에 송구스럽습니다. 

  • 비회원이 다운로드 버튼 클릭 시 로그인 페이지가 아닌 회원가입 페이지로 이동하기 때문에

    해당 버튼에만 로그인 리다이렉트하는 방법은 저희도 연구해봐야 할 듯합니다.

     

    wpmem_form 숏코드에서 redirect_to 기능이 제대로 동작하지 않는다면

    cosmosfarm_members_login_redirect_to 필터를 사용해보시겠어요?

    테마 쪽 functions.php 파일 하단에 아래의 코드를 추가해보세요.

    add_filter('cosmosfarm_members_login_redirect_to', 'my_login_redirect_to', 999, 1);
    function my_login_redirect_to($redirect_to){
    	$redirect_to = '페이지주소';
    	
    	return $redirect_to;
    }

    위의 코드에서 페이지주소 부분은 이동할 페이지 주소로 적용해보세요.

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요