<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[코스모스팜 필수정보 입력 + SNS 회원가입 후 약관동의]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/37684</link>
		<description><![CDATA[<p>안녕하세요?</p>

<p>현재 필수정보 입력란을 체크하면 소셜 회원가입시</p>

<p>로그인이 되면서 필수정보 입력페이지로 리다이렉트됩니다.</p>

<p>저희 사이트에서는 약관동의 페이지가 따로 있어서 </p>

<p>그쪽으로 먼저 리다이렉트 된 후 &gt; 필수정보 입력페이지로 이동되길 원합니다.</p>

<pre>
<code class="language-php">add_action('cosmosfarm_members_pre_user_required', 'add_agreement');

function add_agreement(){
	$user_id = get_current_user_id();
	$user_meta = get_user_meta($user_id, 'cosmosfarm_members_social_channel');
	if($user_meta){
		wp_redirect('/agreement');
        exit;
	}
}</code></pre>

<p>위와 같은 코드를 만들어뒀는데, </p>

<p>redirect 된 후에 다시 필수정보입력페이지로 넘어가거나</p>

<p>redirect 횟수가 너무 많다며 브라우저 오류가 발생할 때도있네요.</p>

<p> </p>

<p>Cosmosfarm_Members.class.php에 user_required() 함수인데 직접 수정하지않고</p>

<p>어떤 방법으로 필터나 훅을 사용해야할까요?</p>

<p>기존 액션을 지우고 다시해야하는건지 궁금합니다.</p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[
if($user_meta){
		echo &quot;&amp;lt;script&amp;gt;window.location.href='/agreement';&amp;lt;/sc...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/37723</link>
			<description><![CDATA[<pre>
<code class="language-php">if($user_meta){
		echo "&lt;script&gt;window.location.href='/agreement';&lt;/script&gt;";
		exit;
	}
</code></pre>

<p><br />
이렇게해도 정상작동하네요<br />
스크립트문에 ;이 빠졌었습니다.</p>

<p>답변 감사합니다.</p>]]></description>
			<author>Kt H</author>
			<pubDate>Mon, 14 Oct 2019 06:11:51 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[답변 감사합니다.

우선 해당 코드를 사용하니 window.location.href='도메인'이 무한 루프로 실행되네...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/37707</link>
			<description><![CDATA[<p>답변 감사합니다.</p>

<p>우선 해당 코드를 사용하니 window.location.href='도메인'이 무한 루프로 실행되네요</p>

<p>그래서 IF 조건문에 page_id를 넣어 아래와 같이 바꿨습니다.</p>

<pre>
<code class="language-php">add_action('cosmosfarm_members_pre_user_required', 'add_agreement');
function add_agreement(){
	$user_id = get_current_user_id();
	$user_meta = get_user_meta($user_id, 'cosmosfarm_members_social_channel', true);
	$page_id = get_the_ID();

	if($user_meta &amp;&amp; $page_id != '123'){
		echo "&lt;script&gt;window.location.href='/agreement'&lt;/script&gt;";
		exit;
	}
}
</code></pre>

<p> </p>

<p>이렇게하니 정상작동합니다 감사합니다.</p>]]></description>
			<author>Kt H</author>
			<pubDate>Mon, 14 Oct 2019 04:44:03 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

코스모스팜 회원관리 플러그인 필수정보 반드시 입력 기능은

WP-Members 플러그인에서 ...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/37693</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>코스모스팜 회원관리 플러그인 필수정보 반드시 입력 기능은</p>

<p><a href="https://oneticon.funnelmoa.com/wp-admin/options-general.php?page=wpmem-settings&amp;tab=fields" target="_blank">WP-Members</a> 플러그인에서 필수로 선택된 필드 정보가 비어있다면 회원정보 페이지로 이동합니다.</p>

<p>페이지가 로딩될 때마다 동작하기 때문에</p>

<p>별도의 코드를 추가해주셔야 합니다.</p>

<p> </p>

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

<p>아래의 코드를 추가해보세요.</p>

<pre>
<code class="language-php">add_action('template_redirect', 'my_template_redirect');
function my_template_redirect(){
	global $cosmosfarm_members;
	
	$page_id = get_the_ID();
	if($page_id == '1'){ // 실제 페이지 ID로 적용해주세요.
		remove_action('wp_footer', array($cosmosfarm_members, 'user_required'));
	}
}

add_action('cosmosfarm_members_pre_user_required', 'add_agreement');
function add_agreement(){
	$user_id = get_current_user_id();
	$user_meta = get_user_meta($user_id, 'cosmosfarm_members_social_channel', true);
	if($user_meta){
		echo "&lt;script&gt;window.location.href='페이지주소'&lt;/script&gt;";
		exit;
	}
}</code></pre>

<p>위의 코드에서 $page_id == '1' 부분은 별도로 추가하신</p>

<p>약관동의 페이지 ID로 적용해보세요.</p>

<p> </p>

<p>워드프레스에서 페이지 ID를 찾는 방법은 아래 블로그 링크를 확인해주세요.</p>

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

<p> </p>

<p>위의 코드를 그대로 적용하시면 소셜 로그인으로 로그인한 사용자가</p>

<p>약관동의를 했더라도 필수정보 필드를 입력하지 않으면 약관동의 페이지로 이동합니다.</p>

<p>약관동의를 했는지 체크할 수 있다면 cosmosfarm_members_pre_user_required 액션에</p>

<p>$user_meta 값과 더불어 체크를 해주셔야 할 듯합니다.</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Mon, 14 Oct 2019 02:37:23 +0000</pubDate>
			<category>워드프레스</category>
		</item>
			</channel>
</rss>