Word Cracker의 잡다한 정보 모음

워드프레스에서 특정 사용자 유형의 사용자 권한 지정하기

Comments 19

플러그인 사용

워드프레스에서 새로운 사용자 레벨을 추가하거나 기존 사용자 유형의 권한을 수정하려면 User Role Editor와 같은 플러그인을 사용할 수 있습니다. 예를 들어, User Role Editor를 설치한 후에 알림판의 사용자 > User Role Editor로 이동하는 원하는 사용자 유형의 권한(Permission)을 변경할 수 있습니다.

User Role Editor - 워드프레스위의 그림에서는 author(글쓴이) 사용자 유형의 권한을 변경할 수 있는 화면입니다. 이와 같이 플러그인을 사용하면 수월하게 사용자 유형의 권한을 수정할 수 있습니다.

add_action 함수 사용

플러그인을 사용하지 않고 직접 코드를 사용하려는 경우 다음과 같은 형식으로 테마의 함수 파일(functions.php)에 추가할 수 있습니다.

if ( ! function_exists( 'writer_set_roles' ) ):
function writer_set_roles()
{
global $wp_roles;
// 글/페이지 편집
$wp_roles->add_cap('author','edit_others_pages'); // author가 다른 페이지를 수정할 수 있도록 허용
$wp_roles->add_cap('author','edit_published_pages'); // author가 발행된 페이지를 수정할 수 있도록 허용
$wp_roles->add_cap('author','edit_private_pages');  // author가 private 페이지를 수정할 수 있도록 허용
$wp_roles->add_cap('author','publish_pages');  // author가 페이지를 발행할 수 있도록 허용
$wp_roles->add_cap('author','delete_pages');  // author가 페이지를 삭제할 수 있도록 허용
$wp_roles->add_cap('author','delete_others_pages');  // author가 다른 페이지를 삭제할 수 있도록 허용
$wp_roles->add_cap('author','delete_others_posts');  // author가 다른 글을 삭제할 수 있도록 허용
$wp_roles->add_cap('author','delete_published_pages');  // author가 발행된 페이지를 삭제할 수 있도록 허용
$wp_roles->add_cap('author','manage_categories');  // author가 카테고리를 관리할수 있도록 허용

// 외모
$wp_roles->add_cap('author','edit_themes');  // author가 테마를 편집할 수 있도록 허용
$wp_roles->add_cap('author','edit_theme_options');  // author가 테마 옵션을 편집할 수 있도록 허용
$wp_roles->add_cap('author','manage_widgets');  // author가 위젯을 관리할 수 있도록 허용
$wp_roles->add_cap('author','edit_widgets');  // author가 위젯을 수정할 수 있도록 허용

// 플러그인 권한 예제
$wp_roles->add_cap('author','NextGEN Gallery overview');
$wp_roles->add_cap('author','NextGEN Use TinyMCE');
$wp_roles->add_cap('author','NextGEN Upload images');
$wp_roles->add_cap('author','NextGEN Manage gallery');
$wp_roles->add_cap('author','NextGEN Manage others gallery');
}
endif;
add_action( 'after_setup_theme', 'writer_set_roles' );
// Source: http://wordpress.stackexchange.com

위의 add_action 함수에서는 author(글쓴이)에 새로운 권한을 부여하는 예를 보여줍니다. author 대신에 contributor(기여자), editor(편집자), 사용자 지정 사용자 유형 등에 응용할 수 있습니다.

워드프레스의 역할과 권한에 대한 자세한 내용은 WordPress Codex 페이지를 참고하시기 바랍니다. 이 Codex 페이지에 나오는 권한은 사용자 권한별로 제한할 때에도 사용할 수 있습니다. 이 글에서 특정 글/페이지/카테고리에 액세스 제한하는 방법을 설명하고 있습니다. 이 글에서 회원 역할별로 제한하는 방법을 보여주는 데, 이 보다는 권한별로 사용하는 것이 더 효율적일 수 있습니다. 예를 들어, 관리자일 경우 if( current_user_can( ‘administrator’ ) ) 코드 대신

if ( current_user_can( 'activate_plugins' ))

형태를 사용할 수 있습니다.  관리자 아닐 경우에는 다음과 같은 코드를 사용할 수 있습니다.

if ( !current_user_can( 'activate_plugins' ))

 

Related Posts

Comments

이 글의 링크 복사