워드프레스 사용자에게 대시보드(알림판) 숨기기

워드프레스 사용자들을 가장 당황하게 하는 것 중의 하나의 대시보드(알림판)가 아닌가 생각됩니다. 특히 일반 사용자가 로그인해도 (제한적인 작업만 가능하지만) 알림판에 접속할 수 있습니다. 그래서 많은 분들이 이 알림판(워드프레스 툴바)을 없애고 싶어합니다. 여기서는 관리자 이외의 사용자가 알림판에 접근할 수 없도록 제한하는 방법(워드프레스 툴바 숨기기)에 대해 살펴보겠습니다.

Dashboard after login 워드프레스 툴바 숨기기

1. 함수를 사용한 방법

가장 간단한 방법은 몇 줄의 함수를 추가하는 방법입니다. 이 방법은 테마 파일에 함수를 추가해야 하기 때문에 초보자가 사용하기에는 약간 거부감이 있을 수 있습니다. 알림판 > 테마 디자인 (혹은 외모) > 테마편집기를 클릭하고 오른쪽 파일 목록에서 테마 함수(functions.php)를 찾아서 직접 추가할 수 있습니다. (물론 FTP를 사용하여 수정할 수도 있고요. 저는 주로 FTP에서 직접 작업하는 것을 선호하는 편입니다. 반드시 차일드 테마를 만들어서 작업하세요.)

다음 함수를 함수 파일에 추가하면 관리자 이외의 사용자는 알림판에 접속할 수 없습니다. 알림판을 누르면 웹사이트의 홈으로 이동합니다. 이 코드는 오래 되었기 때문에 최신 워드프레스에서 잘 작동하는지 여부는 장담할 수 없습니다. 최신 워드프레스 버전에서 제대로 작동하지 않으면 아래에서 소개하는 플러그인을 사용하시기 바랍니다.

// 관리자 이외에 대시보드 숨기기
add_action( 'init', 'blockusers_init' );
function blockusers_init() {
    if ( is_admin() && ! current_user_can( 'administrator' ) &&
       ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
        wp_redirect( home_url() );
        exit;
    }
}

(Source: Gary Pendergast)

위의 방법이 잘 안 되면 다음 코드를 시도해보시기 바랍니다. 그러면 관리자 표시줄(Admin Bar)이 사라질 것입니다.

add_action('after_setup_theme', 'remove_admin_bar');

function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
show_admin_bar(false);
}
}
// Source: wpbeginner

플러그인을 별도로 설치하지 않고자 하는 경우에 유용합니다.

참고로 위의 코드에서는 관리자 체크를 위해 current_user_can('administrator') 함수가 사용되고 있지만, 이 보다는 current_user_can( 'manage_options' )을 사용하는 것이 더 바람직합니다. 다음 글을 참고해보세요.

2. 플러그인 사용

플러그인을 사용하여 사용자들이 대시보드에 접근하지 못하도록 제한할 수 있습니다. 그 중 하나가 Remove Dashboard Access입니다.

Remove Dashboard Access 워드프레스 알림판 접속 제한 플러그인

이 플러그를 설치하면 알림판의 설정 아래에 Dashboard Access라는 메뉴가 추가됩니다. 설정 화면을 살펴보면:

Dashboard Access Settings 대시보드 액세스 설정
  • (1)에서는 알림판(대시보드)에 접근할 수 있는 사용자를 선택할 수 있습니다.
  • (2)에서는 대시보드에 접근할 수 없는 사용자가 로그인 후 리디렉션되는 URL을 설정할 수 있습니다.
  • (3)에서는 사용자들이 본인의 프로필을 대시보드에서 수정할 수 있는지 여부를 설정합니다.
  • (4)는 재미있는 옵션인데, 로그인 화면에 표시하는 메시지입니다. 예를 다음과 같이 로그인 화면에 여기에 입력한 메시지가 표시됩니다.
Message in Login Screen 로그인 화면 메시지

2021년 2월 업데이트: 이 플러그인이 최근 업데이트되었습니다. 업데이트 소식을 알려주신 분께 감사드립니다.

2017년 8월 업데이트: 위의 플러그인인 업데이트된지 1년이 넘은 것 같습니다. 문제가 있는 경우 Hide Admin Bar 플러그인을 사용해보시기 바랍니다. 좋은 플러그인이 종종 업데이트가 되지 않아서 사라지는 경우가 있습니다. 아마 플러그인 제작으로 혜택이 별로 없다보니 업데이트가 소홀해지지 않나 생각됩니다.

이외에도 일부 회원가입(멤버십) 플러그인에서 알림판(WordPress Toolbar) 접근 여부를 설정하는 옵션이 제공되기도 합니다.


워드프레스 관리자 메뉴를 보다 세부적으로 제어하려는 경우에는 WP Admin Menu Manager 플러그인과 같은 유료 플러그인을 사용할 수 있습니다.

WP Admin Menu Manager 플러그인은 특정 사용자/사용자 역할(회원레벨)에 따라 어드민 메뉴를 숨길 수 있는 기능뿐만 아니라, 관리자 메뉴와 하위메뉴 항목의 이름도 변경할 수 있고 순서와 아이콘드 바꿀 수 있는 유용한 플러그인입니다.

WP Admin Menu Manager 워드프레스 어드민 메뉴 관리자 플러그인

보다 세부적으로 관리자 메뉴를 제어하려는 경우 이 플러그인도 괜찮을 것 같습니다.

참고: 워드프레스 관리자 페이지(대시보드)의 이질적인 레이아웃이 마음에 걸리는 경우 워드프레스 대시보드를 Windows 바탕화면처럼 바꾸어주는 WP OS Desktop Backend라이 좋은 대안이 될 수 있을 것입니다.

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

5개 댓글

    1. 안녕하세요?

      코드 작동 여부를 확인해주셔서 감사합니다.
      워드프레스가 워낙 빠르게 발전하다 보니 이전에는 잘 작동하다가 새로운 워드프레스 버전에서는 잘 작동하지 않는 경우도 많습니다.ㅎㅎ

      즐거운 저녁시간 되세요.

  1. WordPress Codex 문서를 보니까 다음 액션이 툴바를 표시하지 않는다고 하네요(https://codex.wordpress.org/Function_Reference/show_admin_bar).
    add_filter('show_admin_bar', '__return_false');

    그런데 위의 코드를 넣으면 관리자에게도 툴바가 표시되지 않을 것 같습니다. 그래서 다음과 같은 코드를 사용자 함수 파일에 추가하면 관리자를 제외한 모든 사용자에게 툴바가 표시되지 않을 것입니다.
    add_action('after_setup_theme', 'remove_admin_bar');
    function remove_admin_bar() {
    if (!current_user_can('administrator') && !is_admin()) {
    show_admin_bar(false);
    }
    }

댓글 남기기

* 이메일 정보는 공개되지 않습니다.