Xoá menu trong phần quản trị WordPress

Để ẩn hay xoá 1 số menu trong phần quản trị WordPress thì có 1 số cách như sử dụng plugin (phổ biến cho những ai không biết code) hoặc nếu bạn không muốn cồng kềnh thì có thể đọc bài viết phía dưới, đơn giản chỉ cần lấy code cho vào file functions.php là có thẻ ẩn menu trong phần quản trị WordPress.

Menu quản trị viên ở phía bên trái của back-end WordPress có rất nhiều mục, menu, menu con, tùy chọn, widget, phần bài đăng và trang cũng như cài đặt chủ đề và plugin. Như đã đề cập, bạn có thể muốn người viết, cộng tác viên, biên tập viên và các quản trị viên khác có quyền truy cập hạn chế. Điều đó đặc biệt quan trọng trên mạng nhiều trang hoặc bất kỳ trang web đa tác giả. Khi mọi thứ được dọn dẹp, bạn cải thiện quy trình làm việc bằng cách tối ưu hóa các lựa chọn có sẵn. Đồng thời, bạn ngăn người dùng lạm dụng các tùy chọn mà họ không nên có quyền truy cập.

Ẩn menu trong Quản trị viên WordPress bằng code PHP

Trước khi bắt đầu bạn cần biết cách kiểm tra ID người dùng trong WordPress, ví dụ đơn giản với quản trị viên có ID=123 thì giữ nguyên các menu, các quản trị viên hoặc user khác thì ẩn hết đi….

Trong ví dụ phía dưới đây sẽ chỉ hiện menu đầy đủ cho người dùng có ID là 123, các người dùng khác đều sẽ bị ẩn menu đi.

add_action( 'admin_init', 'vutruso_remove_menu_pages' );
function vutruso_remove_menu_pages() {
  global $user_ID;
  if ( $user_ID != 123 ) { // Enter the user ID instead of 123
 
   remove_menu_page('edit.php'); // Posts
   remove_menu_page('users.php'); // Users
   remove_menu_page('plugins.php'); // Plugins
   remove_menu_page('themes.php'); // Appearance
   remove_menu_page('tools.php'); // Tools
   remove_menu_page('options-general.php'); // Settings
   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
  }
}

Với code này bạn có thể cải biến 1 chút để hiện menu cho 2 người dùng trở lên như sau:

add_action('admin_menu', 'vutruso_remove_menu_pages');
function vutruso_remove_menu_pages() {
    $excluded_users = array(123, 999); // nguoi dung co id 123 và 999 se duoc hien menu
    
    if (in_array(get_current_user_id(), $excluded_users)) {
        return;
    }
    
   remove_menu_page('edit.php'); // Posts
   remove_menu_page('users.php'); // Users
   remove_menu_page('plugins.php'); // Plugins
   remove_menu_page('themes.php'); // Appearance
   remove_menu_page('tools.php'); // Tools
   remove_menu_page('options-general.php'); // Settings
   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
}

Bonus nếu bạn muốn xoá phần theme Customizer và 1 số menu của các plugin phổ biến khác như elementor, Code snippets, WPML … thì bạn có thể sử dụng code sau để xoá.

add_action('admin_menu', 'vutruso_remove_menu_pages');
function vutruso_remove_menu_pages() {
    $excluded_users = array(123, 999); // nguoi dung co id 123 và 999 se duoc hien menu
    
    if (in_array(get_current_user_id(), $excluded_users)) {
        return;
    }

   remove_menu_page('edit.php'); // Posts
   remove_menu_page('users.php'); // Users
   remove_menu_page('plugins.php'); // Plugins
   remove_menu_page('themes.php'); // Appearance
   remove_menu_page('tools.php'); // Tools
   remove_menu_page('options-general.php'); // Settings
   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

$customizer_url = add_query_arg( 'return', urlencode( remove_query_arg( wp_removable_query_args(), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ), 'customize.php' );
remove_submenu_page( 'themes.php', $customizer_url );

   /* Plugin related submenus under Settings page */
   remove_submenu_page( 'options-general.php', 'webpc_admin_page' ); // WebP converter
   remove_submenu_page( 'options-general.php', 'kadence_blocks' ); // Kadence Blocks
     
	  /* 3rd party plugin menus */
	  // remove_menu_page( 'snippets' ); // Code snippets
	  // remove_menu_page( 'elementor' ); // Elementor
	  // remove_menu_page( 'rank-math' ); // Rank Math
	  // remove_menu_page( 'Wordfence' ); // Wordfence
	  // remove_menu_page( 'WPML' ); // WPML
   	  // remove_menu_page( 'fluent_forms' ); // Fluent Forms
  	  // remove_menu_page( 'ct-dashboard' ); // Blocksy

}

Nếu bạn muốn ẩn menu trong phần quản trị bằng plugin thì có thể sử dụng plugin Hide Admin Menu hoặc WP Custom Admin Interface để cài đặt nhé.

Nếu bạn thấy bài viết có ích hãy sao chép link và chia sẻ bài viết
daotiendung

Tiến Dũng Đào chuyên quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress với hơn 5 năm phát triển theme và plugin. Sở thích của anh là đọc, viết blog, đi du lịch, tập võ và chia sẻ các kiến thức cho mọi người.

Bài viết liên quan