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

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

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


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;
    }

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

    고맙습니다.

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