<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[코스모스팜 회원관리 중 페이지 권한없음 문제]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/22307</link>
		<description><![CDATA[<p>현재 포스트를 수정하고자 커스텀하게 만든 페이지에서</p>

<p>"페이지를 볼 권한이 없습니다." 라는 오류가 뜹니다</p>

<p>기존의 스레드들을 살펴보니</p>

<p>plugins/cosmosfarm-members/class/Cosmosfarm_Members.class.php  파일에서</p>

<pre>
<code class="language-php">public function page_restriction($content) {
  ...
  
  $page_restriction = get_post_meta($post-&gt;ID, 'cosmosfarm_members_page_restriction', true);
  if($page_restriction){
    if(!is_user_logged_in()){
      if($option-&gt;page_restriction_redirect == '1'){
        echo '&lt;script&gt;alert("'.__('Log in to view this page.', 'cosmosfarm-members').'");&lt;/script&gt;';
        echo '&lt;script&gt;window.location.href="' . wp_login_url($_SERVER['REQUEST_URI']) . '";&lt;/script&gt;';
        exit;
      }
      else if($option-&gt;page_restriction_redirect == '2'){
        echo '&lt;script&gt;window.location.href="' . wp_login_url($_SERVER['REQUEST_URI']) . '";&lt;/script&gt;';
        exit;
      }
      else{
        $_REQUEST['redirect_to'] = $_SERVER['REQUEST_URI'];
        $content = wpmem_inc_regmessage('page_restriction', '&lt;p&gt;'.__('Log in to view this page.', 'cosmosfarm-members').'&lt;/p&gt;') . wpmem_inc_login('page_restriction');
      }
    }
    else {
      $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){
        echo $role;
        if(in_array($role, $restriction_roles)){
          $this_restriction = false;
          break;
        }
      } 
  
      if($this_restriction){
        $content = wpmem_inc_regmessage('page_restriction', '&lt;p&gt;'.__('You do not have permission to view this page.', 'cosmosfarm-members').'&lt;/p&gt;');
      }
    }
  }
}

</code></pre>

<p> </p>

<p>$current_user-&gt;roles 이 Array의 값이 비어있습니다.</p>

<p>그래서 페이지 권한이 없다는 메시지가 나옵니다.</p>

<p>설정상의 문제일까요?!</p>

<p>홈페이지에서는 현재 WP-Members 와 코스모스팜 회원관리 플러그인을 함께 쓰고 있습니다.</p>

<p>조언을 구합니다.</p>

<p> </p>

<p>해당사이트는 y-archive.com 입니다.</p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[안녕하세요.

우선 임시방편으로

FTP로 접속해서 /wp-content/plugins/cosmosfarm-members/class/Cosmo...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/22330</link>
			<description><![CDATA[<p>안녕하세요.</p>

<p>우선 임시방편으로</p>

<p>FTP로 접속해서 /wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members.class.php 파일에</p>

<p>아래의 코드를 찾아서</p>

<pre>
<code class="language-php">$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;
	}
}</code></pre>

<p>아래의 코드로 교체해보시겠어요?</p>

<pre>
<code class="language-php">$current_user = wp_get_current_user();
$restriction_roles = get_post_meta($post-&gt;ID, 'cosmosfarm_members_page_restriction_roles', true);

$this_restriction = true;
if($current_user-&gt;roles){
	foreach($current_user-&gt;roles as $role){
		if(in_array($role, $restriction_roles)){
			$this_restriction = false;
			break;
		}
	}
}
else{
	$user_role = get_user_meta(get_current_user_id(), 'wp_capabilities', true);
	foreach($user_role as $key=&gt;$role){
		if(in_array($key, $restriction_roles)){
			$this_restriction = false;
			break;
		}
	}
}</code></pre>

<p>추후 개선하여 업데이트에 반영하도록 하겠습니다.</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Mon, 14 May 2018 09:26:51 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[문제는

사용자 -&amp;gt; 모든 사용자에 해당 부분에 Role 이 들어가 있다는 것입니다. 

 

현재 글쓰...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/22322</link>
			<description><![CDATA[<p>문제는</p>

<p>사용자 -&gt; 모든 사용자에 해당 부분에 Role 이 들어가 있다는 것입니다. </p>

<p> </p>

<p>현재 글쓰기 권한은 </p>

<p>administrator, editor 역할만 가능하도록 해놨는데, </p>

<p>해당 계정에는 editor Role 이 적용되어 있습니다. </p>

<p>모든 사용자 메뉴에서는 각 사용자들의 Role 이 잘 들어가있는데, </p>

<p>$current_user 에서는 왜 빠져있는지, 확인할 방법이 없을까요? </p>]]></description>
			<author>Nickkun</author>
			<pubDate>Mon, 14 May 2018 00:32:32 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

$current_user-&amp;gt;roles 값이 비어있는 게 원인입니다.

어째서 비어있는지는 모르...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/22309</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>$current_user-&gt;roles 값이 비어있는 게 원인입니다.</p>

<p>어째서 비어있는지는 모르겠지만 넣어주셔야 합니다.</p>

<p>워드프레스 관리자 -&gt; 사용자 -&gt; 모든 사용자 (혹은 나의 프로필) 메뉴에서 역할(role)을 선택해주세요.</p>

<p> </p>

<p>페이지 제한 설정에서는 역할을 선택하게 되는데요.</p>

<p>사용자에게 선택된 역할이 없다면 당연히 페이지를 볼 수 없기 때문입니다.</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Sat, 12 May 2018 02:16:37 +0000</pubDate>
			<category>워드프레스</category>
		</item>
			</channel>
</rss>