워드프레스 관리자 페이지 메뉴 항목 제거 방법

워드프레스 알림판에서 다른 사용자들이 테마나 플러그인 등의 메뉴 항목에 접근하지 못하게 하고 싶은 경우가 있습니다. 예를 들어, 사이트를 제작하여 납품하는 경우, 워드프레스에 대해 잘 모르는 고객이 플러그인을 설치하여 문제가 발생할 수 있습니다. 또한, 테마나 플러그인을 업데이트하는 경우에도 간혹 사이트가 작동하지 않는 문제가 생길 수도 있습니다. 이런 사태를 방지하지 위해 워드프레스 관리자 페이지에서 특정 메뉴 항목을 제거하는 것을 고려해볼 수 있습니다.

워드프레스 관리자 페이지 메뉴 항목 제거 방법

워드프레스 사이트에 관리자로 로그인하면 외모(테마, 사용자 정의하기, 위젯)와 플러그인, 설정, 도구 등 사이트의 모든 메뉴에 접근이 가능합니다.

워드프레스 관리자 페이지 메뉴
워드프레스 알림판

특정 메뉴 항목(예: 테마, 플러그인 등)에 접근하지 못하도록 막고 싶은 경우, remove_menu_page 함수를 사용할 수 있습니다.

예를 들어, 다음과 같은 코드를 테마의 함수 파일에 추가하면 대부분의 메뉴에 접근하지 못하도록 제거됩니다(참조: Hiding admin menu items in WordPress).

// 워드프레스 알림판에서 특정 메뉴 항목 제거하기
// Remove admin menu items in WordPress

add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
  global $user_ID;
   remove_menu_page('edit.php'); // 글 (Posts)
   remove_menu_page('upload.php'); // 미디어 (Media)
   remove_menu_page('link-manager.php'); // 링크 (Links)
   remove_menu_page('edit-comments.php'); // 댓글 (Comments)
   remove_menu_page('edit.php?post_type=page'); // 페이지 (Pages) 
   remove_menu_page('plugins.php'); // 플러그인 (Plugins)
   remove_menu_page('themes.php'); // 외모 (Appearance)
   remove_menu_page('users.php'); // 사용자 (Users)
   remove_menu_page('tools.php'); // 도구 (Tools)
   remove_menu_page('options-general.php'); // 설정 (Settings)
   remove_submenu_page('index.php','update-core.php' ); // 업데이트 (Update Core)
}

위와 같은 코드를 적용하면 다음 그림과 같이 대부분의 메뉴 항목이 사라집니다.

워드프레스 관리자 페이지 메뉴 항목 제거 방법

위의 그림에서 엘리멘터 페이지 빌더 메뉴를 제거하고 싶다면 다음과 같은 코드로 테스트해볼 수 있습니다.

remove_menu_page('elementor'); // 엘리멘터 페이지 빌더
remove_menu_page('edit.php?post_type=elementor_library'); // 엘리멘터 템플릿

Contact Form 7 메뉴 항목을 대시보드에서 제거하려면 다음 코드를 사용할 수 있습니다.

remove_menu_page('wpcf7');

위의 코드를 적용하면 워드프레스 관리자 페이지 메뉴에서 "연락처" 메뉴가 제거됩니다.

꼭 필요한 메뉴 항목에만 접근할 수 있도록 조치를 취하면 사용자들의 잘못된 작업으로 인한 사이트 에러를 예방할 수 있을 것입니다.

위에 제시된 코드를 테마 함수 파일에 추가하려는 경우, 반드시 차일드 테마를 만들어서 작업하시기 바랍니다. 그렇지 않으면 테마 업데이트 시에 추가한 사항이 사라지게 됩니다.

워드프레스 자동 업데이트 비활성화

또한, 워드프레스가 자동으로 업데이트되는 것을 방지하고 싶은 경우 다음 코드를 wp-config.php 파일에 추가하면 자동 업데이트 기능이 완전히 비활성화됩니다.

define( 'WP_AUTO_UPDATE_CORE', false );

다음 코드를 추가하면 메이저 업데이트와 개발 업데이트가 비활성화됩니다.

define( 'WP_AUTO_UPDATE_CORE', minor );

위의 코드를 적용하면 보안 문제나 버그가 해결된 마이너 업데이트는 자동으로 업데이트되지만 메이저 버전은 자동으로 업데이트되지 않습니다.

안전하게 워드프레스 사이트를 운영하려면 워드프레스 코어, 테마, 플러그인을 최신 버전으로 업데이트하는 것이 바람직합니다. 업데이트를 소홀히 하면 사이트가 해킹 당하거나 멀웨어에 감염될 수 있습니다. 그러므로 위에 소개한 워드프레스 코어 자동 업데이트 비활성화 방법은 불가피한 경우에만 이용하시기 바랍니다.

참고


4개 댓글

  1. 인위적으로 메뉴를 없애지 않았는데 갑자기 없어질 수도 있을까요?
    아바다 메뉴중 포트폴리오와 FAQs가 어느날 안보이네요.
    테마 업데이트는 꾸준히 잘하고 있는데 말이죠.
    혹시 몰라 아바다빌더와 아바다코어를 다시 설치해봤는데 전혀 변화는 없고요.
    블로그형 웹사이트라 딱히 두 메뉴를 쓸일은 없는데 궁금해서요.

      1. 감사합니다.
        아... 옵션을 보니까 이제야 기억이 나네요. 블로그로만 사용하는 것이라 혹시 속도에 도움이 될까해서 제가 비활성화했었네요ㅠㅠ

      2. 불필요한 기능을 해제하면 사이트 속도에 약간의 이득이 있을 것입니다. 아바다 테마에서는 Avada 슬라이더와 Elastic Slider를 사용하지 않을 경우 비활성화하는 옵션을 제공하므로 만약 레볼루션 슬라이더(Slider Revolution)를 사용한다면 이러한 슬라이더는 비활성화하는 것을 고려해볼 수 있을 것입니다.

댓글 남기기

* 이메일 주소는 공개되지 않습니다.