워드프레스 특정 사용자 역할에 대해 상단 툴바(어드민 바) 숨기기

관리자

Updated on:

워드프레스 툴바 숨기기


워드프레스는 매우 유연한 콘텐츠 관리 시스템(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() 조건을 변경하여 특정 사용자 역할에 따라 상단 툴바를 숨길 수 있습니다. 원하는 역할에 맞게 권한을 조정하면 됩니다.


플러그인을 이용한 간편한 설정

코드 작성을 피하고 싶다면 플러그인을 사용하여 간편하게 설정할 수 있습니다. 아래는 대시보드 접근을 제한하고 툴바를 숨기는 데 유용한 플러그인입니다:

  1. Remove Dashboard Access: Remove Dashboard Access 플러그인은 관리자 외의 사용자에 대해 대시보드 접근을 제한하는 간단한 플러그인입니다. 사용자가 대시보드에 접근하려고 할 때 다른 페이지로 리디렉션되도록 설정할 수 있습니다.
  2. Adminimize: Adminimize 플러그인은 워드프레스 관리자 메뉴와 대시보드를 사용자 역할에 따라 정교하게 제어할 수 있도록 도와줍니다. 사용자가 볼 수 있는 메뉴와 기능을 세부적으로 설정할 수 있습니다.
  3. WP Admin No Show: WP Admin No Show 플러그인은 비관리자 사용자에게 상단 툴바를 숨기는 데 사용됩니다. 설정이 간단하여 초보자도 쉽게 사용할 수 있습니다.

플러그인을 사용하면 별도의 코드 작업 없이도 대시보드와 상단 툴바를 쉽게 관리할 수 있어 편리합니다.


결론

워드프레스에서 특정 사용자 역할에 대해 대시보드와 상단 툴바를 숨기는 것은 사이트 보안을 강화하고 사용자 경험을 개선하는 데 매우 유용합니다. 코드를 직접 추가하여 세부적으로 제어하거나 플러그인을 사용하여 간편하게 설정할 수 있습니다. 사이트의 목적과 사용자 경험을 고려하여 적절한 방법을 선택하시기 바랍니다.

이 방법들을 통해 워드프레스 사이트 관리가 더 쉬워지고 효율적이길 바랍니다. 추가적인 도움이 필요하다면 댓글을 통해 질문해 주세요!


이 글에는 제휴 링크가 포함되어 있을 수 있으며 파트너스 활동을 통해 일정액의 수수료를 업체로 부터 받을 수 있습니다. 구매자분에게는 추가 비용이 발생하지 않습니다. 이 사이트의 정보는 정보 전달 목적으로만 제공되며 어떠한 보장도 제공하지 않습니다.
※ 파트너스 제휴는 블로그 운영에 있어 더 나은 컨텐츠 제작에 큰 도움이 됩니다.

댓글 남기기