글 중간에 회원가입 기능을 추가하기

궁금해서 그렇습니다만 예를 들어서 어떤 글을 추가하면 글 중간에 회원 로그인 기능을 넣는다던지 해서

글을 읽다가 회원이 되어야지만 글 전체를 읽을 수 있는 기능은 없을까요?

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

    말씀하신 글은 어떤 글을 말씀하시는 건지요?

    워드프레스의 포스트인지 KBoard 플러그인의 게시글인지 알려주시겠어요?

    말씀하신 글 중간은 게시글 목록 페이지인지 본문 페이지인지 알려주시겠어요?

    고맙습니다.

  • 워드프레스 포스트입니다. 포스트 본문 중간 삽입을 원합니다

  • 비로그인 시 워드프레스 포스트를 일부만 표시하고 회원가입 폼을 표시하시려면

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

    아래의 코드를 추가해보시겠어요?

    add_filter('the_content', 'my_the_content_filter', 10, 1);
    function my_the_content_filter($content){
    	if(is_singular(array('post'))){
    		if(!is_user_logged_in()){
    			$content = mb_strimwidth(strip_tags($content), 0, 100, '...', 'utf-8');
    			ob_start();
    			?>
    			<h4>계속 보시려면 로그인하세요.</h4>
    			<!-- 회원가입 주소 또는 회원가입 숏코드 -->
    			<?php
    			$content .= ob_get_clean();
    		}
    	}
    		
    	return $content;
    }

    위의 코드 중에서 아래의 코드는 워드프레스 포스트의 본문 내용을 자르는 코드입니다.

    자르려는 크기를 적절히 수정하신 후에 적용해보시겠어요?

    mb_strimwidth(strip_tags($content), 0, 100, '...', 'utf-8');

     

    <!-- 회원가입 주소 또는 회원가입 숏코드 --> 부분에는 회원가입 주소나

    사용 중이신 회원가입 플러그인이 있다면 해당 숏코드를 입력해보시겠어요?

    코스모스팜 회원관리 플러그인을 사용 중이시라면

    아래의 숏코드를 추가해주시면 됩니다.

    [wpmem_form register]

    고맙습니다.

  • 빠른답변감사합니다 혹시 특정 포스트만 적용하는건 불가능할까요?
  • 특정 포스트에만 적용하시려면

    기존의 코드 대신 아래의 코드로 교체해보시겠어요?

    add_filter('the_content', 'my_the_content_filter', 10, 1);
    function my_the_content_filter($content){
    	$post_ids = array('1', '2', '3');
    	
    	if(is_singular(array('post')) && in_array(get_the_ID(), $post_ids)){
    		if(!is_user_logged_in()){
    			$content = mb_strimwidth(strip_tags($content), 0, 100, '...', 'utf-8');
    			ob_start();
    			?>
    			<h4>계속 보시려면 로그인하세요.</h4>
    			<!-- 회원가입 주소 또는 회원가입 숏코드 -->
    			<?php
    			$content .= ob_get_clean();
    		}
    	}
    		
    	return $content;
    }

    위의 코드에서 $post_ids = array('1', '2', '3') 부분에는 실제 post id로 적용해주시면 됩니다.

    예를 들어서 post id가 123인 post에만 적용하시려면 $post_ids = array('123') 이런 식으로 적용해주시면 됩니다.

     

    페이지(포스트) ID를 찾는 방법은 아래의 링크를 참고해보시겠어요?

    워드프레스에서 페이지(포스트) ID를 찾는 방법

     

    get_the_ID 함수는 아래의 링크를 참고해보세요.

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

    고맙습니다.

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