Members 플러그인의 기능은 4가지 입니다.
- Role Manager (사용자 역할 관리) : 워드프레스 사용자 Role(역할)을 수정/삭제 할 수 있으며, 새로운 Role(역할)을 생성할 수 있습니다.
- Content Permissions (컨텐츠 제한) : 페이지,포스트,프로덕트,포트폴리오등의 편집화면에서 문서 전체 또는 일부의 접근을 사용자의 Role(역할)에 따라 제한합니다.
- 로그인 폼/사용자명단 위젯을 제공합니다.
- Private Site : 회원 전용 사이트를 만들 수 있습니다. (컨텐츠와 피드제한)
이 기능들은 각각 독립적 요소로 설정되어 있으므로, 원하는 기능만 선별하여 사용할 수 있습니다.
플러그인을 설치하면 ‘관리자메뉴-설정’에 Members라는 메뉴가 추가됩니다. 여기에서 4가지 설정을 할 수 있습니다.
1.Role Manager (사용자 역할 관리)
설정에는 이 기능을 사용할 것인지 말 것인지에 관한 체크밖에 없습니다.
체크 아래에는 이 기능을 사용해서 사용자의 roles(역할) 과 capabilities(능력) 변경 시 플러그인을 비활성화/제거해도 원래대로 돌아오지 않으니, 신중하게 사용하라는 알림이 있습니다.
일단 설정에서 체크하면 ‘관리자메뉴-사용자’ 안에 Roles 와 Add New Role 메뉴가 추가됩니다. 모든 것은 이 안에서 이루어집니다.
- Roles : 현재 사이트 내에 존재하는 모든 Role(역할)이 나열됩니다. 맨 처음에는 워드프레스 기본 롤(관리자, 편집자, 글쓴이, 기여자, 구독자)이 보입니다. 리스트 중 하나를 선택해서 새로운 능력을 부여하거나 삭제(capabilities 편집)할 수 있습니다.
- Add New Role : 새로운 Role(역할)을 만들 수 있습니다. 새로운 롤 이름을 만들고 그 롤에 사용할 라벨(꼬리표)를 붙이고, 그 롤이 할 수 있는 일(능력=capability)을 설정해 줍니다.
예를 들어 my_contributor 라는 role을 만들어서 Role Capabilities(능력)에 edit_posts, delete_posts, read 세 가지를 체크해서 만들면, 이름만 다를 뿐이지 my_contributor와 워드프레스 기본 contributor는 같은 수준의 ROLE이 됩니다.
사이트 내에 5가지 기본 ROLE보다 많은 회원등급을 나누어 사용해야 하는 경우, 또는 현재의 기본 role의 능력을 변경해서 사용하는 경우 등에 이용할 수 있습니다.
2. Content Permissions (컨텐츠 제한)
설정에서 이 기능을 사용할 것인지 말 것인지 체크하고, 사용 시 권한(role)이 적합하지 않은 사용자가, 제한된 컨텐츠에 접속했을 경우 어떤 메시지를 보여줄 것인지 입력하는 칸이 있습니다.
1) 전체 컨텐츠 제한
위처럼 설정에서 컨텐츠 제한 기능을 사용하겠다고 결정하면 post, page, product 등을 새로 만드는 편집 화면 하단에 아래 이미지와 같이 Content Permissions 메타박스가 추가됩니다.
여기서 선택으로 이 글에 접근할 수 있는 사용자를 제한할 수 있는데, 아무도 선택되지 않으면 누구나 그 글을 볼수있고, 누군가 선택되었다면, “선택된 role”과 그 글의 저자, 그 글을 편집할 수 있는 권한을 가진 자, 컨텐츠를 제한할 수 있는 능력(restrict_content capability)을 가진 자는 role에 상관없이 컨텐츠를 볼 수(아래에서 설명할 숏코드와 다른점 입니다) 있습니다.
Custom error messsage는 권한(role)이 적합하지 않은 사용자가, 이 컨텐츠에 접촉했을 경우 어떤 메시지를 보여줄 것인지 개별적으로 입력할 수 있는 칸입니다.
2) 일부 컨텐츠 제한 (숏코드 사용)
i) access 숏코드
컨텐츠의 내용을 입력하면서 만약 권한(role=역할)에 따라서 그 내용을 볼 수 있도록(보지못하도록) 하려면 그 내용을 [access] 감출 부분 [/access] 숏코드로 감싸면 됩니다.
이때 권한의 지정은 Parameters(매개변수)로 지정해 줍니다.
- capability: 능력으로 접근할 수 있는 사용자를 지정합니다.
예) [access capability=”publish_posts”] publish_posts인 자가 보는 내용[/access] : “글을 공개할 수 있는 능력”을 가진 자 즉, “관리자, 편집자, 글쓴이”가 해당 부분을 볼 수 있고, 다른 사람은 볼 수 없습니다. - role : role(역할)로 접근할 수 있는 사용자를 지정합니다. 워드프레스의 기본 role과 맨 위 1 번 기능인 “Role management”를 통해 만들어진 role을 사용할 수 있습니다.
예) [access role=”administrator,editor”] 관리자와 편집자만 볼 수 있는 내용[/access] : “관리자”와 “편집자” 이외에는 이 해당 부분을 볼 수 없습니다.
* 숏코드를 사용해서 “일부 컨텐츠 제한”을 하는 방법은 파라미터에 해당하지 않으면, 관리자,편집자,이 글을쓴 저자도 웹사이트 전면에서 해당컨텐츠를 볼 수 없다는 점이 “전체 컨텐츠 제한”에서의 방법과 다릅니다.
* 위 두 가지 파라미터 이외에 [access] 숏코드에 feed라는 파라미터가 하나 더 있습니다. 이것은 true이면 feed의 요청에는 내용을 보내주겠다는 뜻입니다.
ii) is_user_logged_in 숏코드
[is_user_logged_in] 로그인한 사용자만 볼 수있는 내용 [/is_user_logged_in] : 일부의 내용을 로그인한 사용자만 볼 수 있도록 할 때 사용하는 방법입니다.
*참고 : 위의 “전체 컨텐츠 제한”을 이용해 로그인한 사용자만 문서의 전체 내용에 접근할 수 있도록 하려면 선택 항목을 모두 체크하면 됩니다.
3) 제3의 숏코드 [feed]
이 숏코드는 숏코드 안의 내용은 feed 구독자에게 보내주겠다는 의미의 숏코드입니다.
예) [feed] 피드의 안에 포함할 내용 [/feed]
3. 로그인/사용자 리스트 위젯 기능
관리자메뉴-설정-Members에 로그인(login form) 위젯을 추가하는 기능을 사용할 것인지와 사용자 리스트(users)를 보여주는 위젯을 사용할 것인지를 묻습니다.
로그인폼 위젯 내부에는 로그인 위젯 안에 보이는 각종 문구를 설정하고, 소스 내의 id 속성을 지정하는 설정 등이 있습니다. (문구 설정으로 기본 모양을 갖추고, id를 지정해서 css 커스터마이징이 가능합니다.)
유저 위젯 내부에는 어떤 사용자들을 어떤 기준으로 보여줄지 설정합니다. 이 설정값은 워드프레스 get_users() 함수를 기준으로 하며 이 함수의 파라미터와 같습니다.
4. 회원 전용 사이트 운영 기능
체크하면 로그인하지 않은 사용자가 나의 웹사이트 어떤 주소로 접근하더라도 로그인 페이지로 보냅니다. 로그인하지 않으면 웹사이트의 어떤 부분도 볼 수 없기 때문에 회원 전용 사이트가 됩니다.
두 번째 체크는 피드 요청에 아래의 문구를 보내준다는 설정이고, 문구설정은 html과 숏코드 사용이 가능합니다.