워드프레스는 매우 유연한 콘텐츠 관리 시스템(CMS)으로 사용자 역할과 권한을 기반으로 한 맞춤형 설정이 가능합니다. 워드프레스 대시보드(알림판)와 상단 툴바(어드민 바)는 기본적으로 로그인한 모든 사용자에게 표시되지만 모든 사용자가 이 기능을 필요로 하지는 않습니다. 특히 관리자 외의 사용자에게 대시보드 접근을 제한하고 툴바를 숨기는 것이 더 효율적일 수 있습니다. 이 글에서는 특정 사용자 역할에 대해 워드프레스 대시보드와 상단 툴바를 숨기는 방법을 살펴보겠습니다.
워드프레스 사용자 역할과 권한 이해하기
워드프레스는 기본적으로 다음과 같은 사용자 역할을 제공합니다:
- 관리자 (Administrator): 모든 관리 권한을 가진 최상위 사용자.
- 편집자 (Editor): 모든 콘텐츠를 편집할 수 있는 사용자.
- 글쓴이 (Author): 자신의 콘텐츠만 작성 및 편집할 수 있는 사용자.
- 기여자 (Contributor): 자신의 콘텐츠를 작성할 수 있지만 게시할 수 없는 사용자.
- 구독자 (Subscriber): 콘텐츠를 읽고 댓글을 남길 수 있는 사용자.
관리자 외의 다른 역할을 가진 사용자들에게 대시보드와 상단 툴바를 숨기고 싶다면 이를 위해 몇 가지 방법을 사용할 수 있습니다.
코드를 이용한 사용자 역할별 대시보드 접근 제한
워드프레스에서는 테마의 functions.php 파일에 코드를 추가하여 사용자 역할에 따라 대시보드 접근을 제한하고 상단 툴바를 숨길 수 있습니다. 알림판 » 디자인 (혹은 외모) » 테마 편집기를 클릭하고 오른쪽 파일 목록에서 테마 함수(functions.php)를 찾아서 직접 추가할 수 있습니다. (만약의 사태를 위해 FTP 또는 자식테마(Child Theme)를 만들어서 작업하세요.)
다음은 관리자 외의 사용자에 대해 대시보드 접근을 제한하고 상단 툴바를 숨기는 코드입니다:
// 관리자 외 사용자에게 대시보드 접근 제한
add_action('init', 'restrict_dashboard_access');
function restrict_dashboard_access() {
if (is_admin() && !current_user_can('administrator') && !current_user_can('edit_posts')) {
wp_redirect(home_url());
exit;
}
}
// 관리자 외 사용자에게 상단 툴바 숨기기
add_action('after_setup_theme', 'hide_admin_bar_for_non_admin');
function hide_admin_bar_for_non_admin() {
if (!current_user_can('administrator') && !is_admin()) {
show_admin_bar(false);
}
}
이 코드를 추가하면 관리자가 아닌 사용자가 대시보드에 접근하려고 할 때 홈페이지로 리디렉션되며 상단 툴바가 표시되지 않게 됩니다. current_user_can(‘edit_posts’) 조건은 글쓴이 이상의 역할을 가진 사용자들이 여전히 접근 가능하도록 설정한 부분입니다. 이 부분을 current_user_can(‘manage_options’)로 변경하면 더 제한적인 접근이 가능해집니다.
특정 사용자 역할에 대해 상단 툴바(어드민 바) 숨기기
특정 사용자 역할에 따라 상단 툴바를 숨기기 위해 변경해야 하는 부분은 current_user_can(‘edit_posts’) 조건입니다. 이 조건은 현재 사용자가 edit_posts 권한을 가지고 있는지를 확인합니다. 이를 통해 ‘편집자’, ‘글쓴이’, ‘기여자’ 역할의 사용자는 상단 툴바가 표시되지만 ‘구독자’는 툴바가 숨겨집니다.
다른 사용자 역할에 따라 툴바를 숨기고 싶다면 current_user_can() 함수에 들어가는 권한을 해당 역할의 권한으로 변경하면 됩니다.
- ‘편집자’와 ‘글쓴이’ 역할에게 툴바를 숨기고 싶다면: edit_pages 권한을 사용할 수 있습니다.
- ‘관리자’ 외의 모든 사용자에게 툴바를 숨기고 싶다면: manage_options 권한을 사용할 수 있습니다.
예시로 코드 변경하기
// 편집자와 글쓴이에게 상단 툴바 숨기기
add_action('after_setup_theme', 'hide_admin_bar_for_editors_and_authors');
function hide_admin_bar_for_editors_and_authors() {
if (!current_user_can('edit_pages')) {
add_filter('show_admin_bar', '__return_false');
}
}
// 관리자 외의 모든 사용자에게 상단 툴바 숨기기
add_action('after_setup_theme', 'hide_admin_bar_for_non_admins');
function hide_admin_bar_for_non_admins() {
if (!current_user_can('manage_options')) {
add_filter('show_admin_bar', '__return_false');
}
}
이렇게 current_user_can() 조건을 변경하여 특정 사용자 역할에 따라 상단 툴바를 숨길 수 있습니다. 원하는 역할에 맞게 권한을 조정하면 됩니다.
플러그인을 이용한 간편한 설정
코드 작성을 피하고 싶다면 플러그인을 사용하여 간편하게 설정할 수 있습니다. 아래는 대시보드 접근을 제한하고 툴바를 숨기는 데 유용한 플러그인입니다:
- Remove Dashboard Access: Remove Dashboard Access 플러그인은 관리자 외의 사용자에 대해 대시보드 접근을 제한하는 간단한 플러그인입니다. 사용자가 대시보드에 접근하려고 할 때 다른 페이지로 리디렉션되도록 설정할 수 있습니다.
- Adminimize: Adminimize 플러그인은 워드프레스 관리자 메뉴와 대시보드를 사용자 역할에 따라 정교하게 제어할 수 있도록 도와줍니다. 사용자가 볼 수 있는 메뉴와 기능을 세부적으로 설정할 수 있습니다.
WP Admin No Show: WP Admin No Show 플러그인은 비관리자 사용자에게 상단 툴바를 숨기는 데 사용됩니다. 설정이 간단하여 초보자도 쉽게 사용할 수 있습니다.
플러그인을 사용하면 별도의 코드 작업 없이도 대시보드와 상단 툴바를 쉽게 관리할 수 있어 편리합니다.
결론
워드프레스에서 특정 사용자 역할에 대해 대시보드와 상단 툴바를 숨기는 것은 사이트 보안을 강화하고 사용자 경험을 개선하는 데 매우 유용합니다. 코드를 직접 추가하여 세부적으로 제어하거나 플러그인을 사용하여 간편하게 설정할 수 있습니다. 사이트의 목적과 사용자 경험을 고려하여 적절한 방법을 선택하시기 바랍니다.
이 방법들을 통해 워드프레스 사이트 관리가 더 쉬워지고 효율적이길 바랍니다. 추가적인 도움이 필요하다면 댓글을 통해 질문해 주세요!