<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[일반회원 정기결제회원으로 유도하기]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/41883</link>
		<description><![CDATA[<p>안녕하세요 선생님</p>

<p>정기결제로 수익을 내고 싶은 상황입니다.</p>

<p>현재, 비회원자가 회원가입을 하면 '구독자'가 되고, 정기결제까지 하면 'CUSTOMER'가 되도록 사용자 역할을 설정했습니다.</p>

<p> </p>

<p>1. 회원가입만 하고, 정기결제는 신청하지 않은 회원이 있다고 가정하겠습니다.</p>

<p>이 사람이 '정기결제를 해야 볼 수 있는 특정 게시판을 클릭'하면, "페이지를 볼 권한이 없습니다. "라는 문구만 뜨는데요.</p>

<p>2. 저는 이 페이지 보다는  정기결제페이지로 바로 넘어가게 하고 싶습니다. 이는 일반 회원도 정기결제회원으로 유도하고 싶기 때문이니다.</p>

<p>어떻게 하면 되나요?</p>

<p> </p>

<p>감사합니다.</p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[안녕하세요.

코드를 올려주실 땐 반드시 에디터의 코드 스니펫 삽입 기능으로 올려주시길 부탁드립니다...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/41914</link>
			<description><![CDATA[<p>안녕하세요.</p>

<p>코드를 올려주실 땐 반드시 에디터의 <strong>코드 스니펫 삽입</strong> 기능으로 올려주시길 부탁드립니다.</p>

<p>그렇지 않으면 의도하지 않은 코드로 바뀌거나 질의응답 시 소통에 문제가 있을 수도 있습니다.</p>

<p> </p>

<p>추가하신 코드 중 get_the_ID() == '13' 부분의 숫자는</p>

<p>게시판 id가 아닌 페이지 id로 적용해주셔야 합니다.</p>

<p>게시판 id와 페이지 id는 서로 다릅니다.</p>

<p>이전 댓글에 안내해드린 링크를 참고하셔서</p>

<p>실제 해당 페이지의 id로 적용해서 확인해보시겠어요?</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Sun, 15 Mar 2020 23:49:30 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요 선생님.

실제로 id와 주소 변경 후 소스 업데이트했지만, 홈페이지는 업데이트 이전하고 똑...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/41905</link>
			<description><![CDATA[<p>안녕하세요 선생님.</p>

<p>실제로 id와 주소 변경 후 소스 업데이트했지만, 홈페이지는 업데이트 이전하고 똑같이 작동합니다.</p>

<p><a href="https://imgur.com/a/PJaJiqq">https://imgur.com/a/PJaJiqq</a></p>

<p> </p>

<p>혹시 다시 한번 봐주실 수 있으실까요...ㅠㅠ</p>

<p>사실 한 개의 게시판이 아니라 모든 게시판에 적용하고 싶은데, '공지사항' 게시판(id=13)으로 실험 중입니다.</p>

<p>홈페이지는 nugunadu.com 입니다.</p>

<p>감사합니다. </p>

<p> </p>

<p>아래는 functions.php에 위 소스 추가한 원본입니다.</p>

<p>그동안 기능 추가된 소스부분도 혹시 몰라 상단부분에 첨부하였습니다.</p>

<p> </p>

<p>/* Omit closing PHP tag to avoid "Headers already sent" issues. */</p>

<p>add_filter('kboard_list_from', 'my_kboard_list_from', 10, 3);<br />
function my_kboard_list_from($from, $board_id, $content_list){<br />
    global $wpdb;<br />
    if(in_array($board_id, array('1', '2','3','5','6','7','8','10','11','12','13'))){ // 실제 게시판 id로 적용해주세요.<br />
        $from .= " LEFT JOIN `{$wpdb-&gt;prefix}kboard_board_option` ON `{$wpdb-&gt;prefix}kboard_board_content`.`uid`=`{$wpdb-&gt;prefix}kboard_board_option`.`content_uid`";<br />
    }<br />
    return $from;<br />
}</p>

<p>add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);<br />
function my_kboard_list_where($where, $board_id, $content_list){<br />
    $category = kboard_category1();<br />
    if($category &amp;&amp; in_array($board_id, array('1', '2','3','5','6','7','8','10','11','12','13'))){ // 실제 게시판 id로 적용해주세요.<br />
        $option_key = 'region';<br />
        $where = "`board_id`='{$board_id}' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval') AND (`option_key`='{$option_key}' AND `option_value`='{$category}')";<br />
    }<br />
    return $where;<br />
}</p>

<p>/* kboard 글만 검색*/<br />
add_action('pre_get_posts', 'my_pre_get_posts');<br />
function my_pre_get_posts($query){<br />
    if(is_search() &amp;&amp; $query-&gt;is_main_query()){<br />
        $query-&gt;set('post_type', 'kboard');<br />
    }<br />
}<br />
/*상단바제거*/<br />
add_filter('show_admin_bar', 'my_show_admin_bar');<br />
function my_show_admin_bar() {<br />
    if(current_user_can('activate_plugins')){<br />
        return true;<br />
    }<br />
    return false;<br />
}</p>

<p>/*회원가입후결제창으로이동*/<br />
add_action('wpmem_post_register_data', 'my_registration_hook', 1);<br />
function my_registration_hook($fields){<br />
    $user = get_userdata($fields['ID']);<br />
    wp_set_current_user($user-&gt;ID, $user-&gt;user_login);<br />
    wp_set_auth_cookie($user-&gt;ID, false);<br />
    do_action('wp_login', $user-&gt;user_login, $user);<br />
    <br />
    wp_redirect(site_url('http://nugunadu.com/상품결제창/'));<br />
    exit;<br />
}</p>

<p>/*일반회원이 id가 13인 공지사항게시판클릭시결제페이지유도*/<br />
add_filter('cosmosfarm_members_page_restriction', 'cosmosfarm_members_page_restriction_2020_03_13', 1, 1);<br />
function cosmosfarm_members_page_restriction_2020_03_13($page_restriction){<br />
    global $post;<br />
    <br />
    if($page_restriction &amp;&amp; get_the_ID() == '13'){ // 실제 페이지 id로 적용해주세요.<br />
        $current_user = wp_get_current_user();<br />
        $restriction_roles = get_post_meta($post-&gt;ID, 'cosmosfarm_members_page_restriction_roles', true);<br />
        <br />
        $this_restriction = true;<br />
        foreach($current_user-&gt;roles as $role){<br />
            if(in_array($role, $restriction_roles)){<br />
                $this_restriction = false;<br />
                break;<br />
            }<br />
        }<br />
        if($this_restriction){<br />
            ?&gt;<br />
            &lt;script&gt;<br />
            if(confirm('정기결제하신 후에 볼 수 있습니다.')){<br />
                window.location.href="http://nugunadu.com/상품결제창/";<br />
            }<br />
            &lt;/script&gt;<br />
            &lt;?php<br />
            exit;<br />
        }<br />
    }<br />
    <br />
    return $page_restriction;<br />
}</p>]]></description>
			<author>홍홍홍88</author>
			<pubDate>Fri, 13 Mar 2020 11:41:01 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

cosmosfarm_members_page_restriction 필터를 활용하시면 가능할 듯합니다.

아래의 코...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/41901</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>cosmosfarm_members_page_restriction 필터를 활용하시면 가능할 듯합니다.</p>

<p>아래의 코드를 활용해보시겠어요?</p>

<pre>
<code class="language-php">add_filter('cosmosfarm_members_page_restriction', 'cosmosfarm_members_page_restriction_2020_03_13', 1, 1);
function cosmosfarm_members_page_restriction_2020_03_13($page_restriction){
	global $post;
	
	if($page_restriction &amp;&amp; get_the_ID() == '1'){ // 실제 페이지 id로 적용해주세요.
		$current_user = wp_get_current_user();
		$restriction_roles = get_post_meta($post-&gt;ID, 'cosmosfarm_members_page_restriction_roles', true);
		
		$this_restriction = true;
		foreach($current_user-&gt;roles as $role){
			if(in_array($role, $restriction_roles)){
				$this_restriction = false;
				break;
			}
		}
		if($this_restriction){
			?&gt;
			&lt;script&gt;
			if(confirm('정기결제하신 후에 볼 수 있습니다.')){
				window.location.href="페이지주소";
			}
			&lt;/script&gt;
			&lt;?php
			exit;
		}
	}
	
	return $page_restriction;
}</code></pre>

<p>위의 코드에서 get_the_ID() == '1' 부분은 실제 페이지 제한 설정한 페이지 id로 적용해주세요.</p>

<p>페이지주소 부분은 이동할 페이지 주소(정기결제 페이지)로 적용해보세요.</p>

<p> </p>

<p>테마의 functions.php 파일에 코드를 추가하거나 <a href="https://ko.wordpress.org/plugins/code-snippets/" target="_blank">Code Snippets</a> 플러그인을 사용해서 코드를 추가할 수 있습니다.</p>

<p> </p>

<p>워드프레스 사이트에서 페이지 ID를 확인하는 방법은</p>

<p>아래의 링크를 참고해보세요.</p>

<p><a href="https://blog.naver.com/PostView.nhn?blogId=chan2rrj&amp;logNo=220993158649" target="_blank">워드프레스에서 페이지(포스트) ID를 찾는 방법</a></p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Fri, 13 Mar 2020 08:12:48 +0000</pubDate>
			<category>워드프레스</category>
		</item>
			</channel>
</rss>