2009-02-03 2 views
1

가입자가 볼 수있는 콘텐츠를 제한하려고 노력하고 있지만 작동하지 않는 것으로 보입니다. 나는 웹을 트롤링하고 워드 프레스 코드를 통해 몇 시간을 보냈다. 아무도 내가 이것에 대해 어떻게 할 수 있는지 알고 있니?WordPress의 사용자 역할을 구분하는 방법은 무엇입니까?

if(get_role() = 'subscriber'){ 
    redirect 
} 

감사

그런데 내가 시도 get_role ($ 역할)

하고 나를 위해 작동하지 않습니다

이상적으로 코드 구조는 같을 것이다.

답변

2

나는 이것을 위해 current_user_can을 사용했습니다.

if (!current_user_can('edit_posts')){ 

//redirect, error, etc as you like 

} 
:

http://codex.wordpress.org/Roles_and_Capabilities#Capabilities:_5

그래서 "가입자"의 레벨 이상의 모든 사람이 글을 편집 할 수 있기 때문에, 하나 개의 방법이 될 것이다 마련했습니다 요구 사항을 수용하기 위해, 여기의 역할과 기능의 목록이있다

+0

좋은 직장, 건배 야! – Drew

0

업데이트 : 어떤 사용자가 할 수 있고 할 수 없는지 알아내는 데 사용할 수있는 기능은 current_user_can(capability)입니다. 나는 당신이 다른 역할이나 능력을 추가 할 필요가 있다고 생각합니다.

는 다음과 같은 시도 :

if ('subscriber' == get_role()) { 
    # do whatever 
} 

= 할당
== 비교

+0

감사합니다. 나는 항상 그것을 잊는다. 아아, 그것은 꽤 고쳐지지 않습니다. – Drew

0

워드 프레스 아주 잘 콘텐츠 액세스 제한을하지 않습니다. 그것은 단지 시스템에 내장되어 있지 않습니다. 대부분의 권한 작업에는 누가 만들고 편집 할 수 있는지 제어하는 ​​것이 포함되지만 가장 중요한 디자인 원칙은 누구나 볼 수있게하는 것입니다. 이는 블로그 앱에 적합하지만 조건부 액세스가 필요한 사용자 유형이있는 경우 제한 될 수 있습니다.

많은 문제없이 구독자 역할을 추가 할 수 있지만 루프에서 게시물을 리디렉션하거나 숨기려면 많은 렌더링 코드에 후크를 추가해야합니다. dev 작업의 최소 금액은 루프에서 사용자의 역할을 확인하고 표시되지 않아야하는 것을 숨기는 것입니다. 단점은 빈 페이지 근처를 렌더링하게 될 수도 있다는 것입니다.

관련 문제