Ẩn mục menu không cần thiết WordPress admin

1 ngày ago, WordPress Plugin, Views
Ẩn mục menu không cần thiết WordPress admin

Giới thiệu về việc ẩn mục menu không cần thiết trong WordPress Admin

Giao diện quản trị WordPress (WordPress Admin) cung cấp vô số tính năng và tùy chọn, nhưng không phải tất cả đều cần thiết cho mọi người dùng hoặc mọi dự án. Việc loại bỏ các mục menu không cần thiết có thể giúp giao diện quản trị trở nên gọn gàng, trực quan hơn, từ đó cải thiện trải nghiệm người dùng và tăng hiệu quả công việc.

Bài viết này sẽ hướng dẫn bạn qua các phương pháp khác nhau để ẩn các mục menu không cần thiết trong WordPress Admin, từ việc sử dụng plugin đến việc tùy chỉnh code.

Tại sao nên ẩn mục menu không cần thiết?

Việc ẩn các mục menu không cần thiết mang lại nhiều lợi ích:

  • Cải thiện trải nghiệm người dùng: Loại bỏ các tùy chọn không liên quan giúp người dùng tập trung vào các tính năng quan trọng.
  • Tăng hiệu quả công việc: Giao diện gọn gàng hơn giúp người dùng dễ dàng tìm kiếm và truy cập các chức năng cần thiết.
  • Giảm thiểu sự nhầm lẫn: Đối với những người dùng mới làm quen với WordPress, việc ẩn các tùy chọn phức tạp có thể giúp họ tránh khỏi sự bối rối.
  • Tăng tính bảo mật: Ẩn các mục menu liên quan đến các tính năng không sử dụng có thể giảm nguy cơ bị khai thác lỗ hổng bảo mật.

Các phương pháp ẩn mục menu không cần thiết trong WordPress Admin

Có nhiều cách để ẩn các mục menu không cần thiết trong WordPress Admin, mỗi cách có ưu và nhược điểm riêng. Dưới đây là một số phương pháp phổ biến:

Sử dụng Plugin

Đây là phương pháp đơn giản và phổ biến nhất, đặc biệt đối với những người không quen thuộc với code. Có rất nhiều plugin miễn phí và trả phí có thể giúp bạn dễ dàng ẩn các mục menu không cần thiết chỉ với vài cú nhấp chuột.

Các plugin phổ biến:

  • Admin Menu Editor
  • White Label CMS
  • WP Adminify

Ưu điểm:

  • Dễ sử dụng, không cần kiến thức về code.
  • Cung cấp giao diện trực quan để quản lý các mục menu.
  • Thường có nhiều tính năng tùy chỉnh khác ngoài việc ẩn menu.

Nhược điểm:

  • Cài đặt quá nhiều plugin có thể làm chậm website.
  • Một số plugin có thể không được cập nhật thường xuyên, gây ra vấn đề tương thích.

Ví dụ sử dụng plugin Admin Menu Editor:

  1. Cài đặt và kích hoạt plugin Admin Menu Editor.
  2. Truy cập Settings > Menu Editor trong WordPress Admin.
  3. Tìm mục menu bạn muốn ẩn.
  4. Nhấp vào biểu tượng con mắt (ẩn/hiện) để ẩn hoặc hiện mục menu.
  5. Lưu thay đổi.

Tùy chỉnh code bằng functions.php

Phương pháp này đòi hỏi kiến thức về code PHP, nhưng mang lại sự linh hoạt và kiểm soát cao hơn. Bạn có thể thêm code vào file `functions.php` của theme hoặc sử dụng plugin Code Snippets.

Ví dụ code ẩn mục “Posts”:


  function remove_menu_items() {
      global $menu;
      unset($menu[5]);  // Posts
  }
  add_action('admin_menu', 'remove_menu_items');
  

Ưu điểm:

  • Không cần cài đặt thêm plugin.
  • Kiểm soát hoàn toàn các mục menu bạn muốn ẩn.
  • Hiệu quả hơn về hiệu suất so với việc sử dụng plugin (nếu code được viết tối ưu).

Nhược điểm:

  • Yêu cầu kiến thức về code PHP.
  • Có thể gây ra lỗi nếu code không chính xác.
  • Cần phải cẩn thận khi cập nhật theme, vì các thay đổi trong `functions.php` có thể bị mất.

Giải thích code:

  • `remove_menu_items()`: Đây là một hàm tùy chỉnh để ẩn các mục menu.
  • `global $menu;`: Truy cập biến `$menu` toàn cục chứa danh sách các mục menu.
  • `unset($menu[5]);`: Xóa mục menu có chỉ số là 5 (trong trường hợp này là “Posts”).
  • `add_action(‘admin_menu’, ‘remove_menu_items’);`: Đăng ký hàm `remove_menu_items()` để chạy khi menu admin được tạo.

Lưu ý: Bạn cần xác định đúng chỉ số của mục menu bạn muốn ẩn. Bạn có thể sử dụng hàm `print_r($GLOBALS[‘menu’]);` để xem danh sách đầy đủ các mục menu và chỉ số của chúng.

Sử dụng Code Snippets Plugin

Plugin Code Snippets cho phép bạn thêm các đoạn code tùy chỉnh vào WordPress mà không cần chỉnh sửa trực tiếp file `functions.php` của theme. Điều này giúp bạn dễ dàng quản lý và tắt/bật các đoạn code một cách an toàn.

Ưu điểm:

  • An toàn hơn so với việc chỉnh sửa trực tiếp `functions.php`.
  • Dễ dàng quản lý và tắt/bật các đoạn code.
  • Giúp giữ cho file `functions.php` của theme gọn gàng hơn.

Nhược điểm:

  • Cần cài đặt thêm plugin.

Hướng dẫn sử dụng Code Snippets:

  1. Cài đặt và kích hoạt plugin Code Snippets.
  2. Truy cập Snippets > Add New.
  3. Nhập tiêu đề cho đoạn code (ví dụ: “Ẩn mục Posts”).
  4. Dán đoạn code PHP vào ô code.
  5. Chọn “Only run in administration area”.
  6. Lưu và kích hoạt đoạn code.

Ẩn các mục menu cho từng vai trò người dùng

Đôi khi, bạn chỉ muốn ẩn các mục menu cho một số vai trò người dùng nhất định (ví dụ: chỉ ẩn cho Editor hoặc Author). Bạn có thể tùy chỉnh code để thực hiện điều này.

Ví dụ code ẩn mục “Posts” cho vai trò “Editor”:


  function remove_menu_items_by_role() {
      $user = wp_get_current_user();
      if ( in_array( 'editor', (array) $user->roles ) ) {
          global $menu;
          unset($menu[5]);  // Posts
      }
  }
  add_action('admin_menu', 'remove_menu_items_by_role');
  

Giải thích code:

  • `wp_get_current_user()`: Lấy thông tin về người dùng hiện tại.
  • `in_array( ‘editor’, (array) $user->roles )`: Kiểm tra xem người dùng hiện tại có vai trò “Editor” hay không.
  • Nếu người dùng có vai trò “Editor”, code sẽ ẩn mục menu “Posts” như bình thường.

Bạn có thể thay đổi `’editor’` thành các vai trò khác như `’author’`, `’contributor’`, `’subscriber’` hoặc `’administrator’` để áp dụng cho các vai trò khác nhau.

Kết luận

Việc ẩn các mục menu không cần thiết trong WordPress Admin là một cách hiệu quả để cải thiện trải nghiệm người dùng và tăng hiệu quả công việc. Bạn có thể lựa chọn phương pháp phù hợp nhất với kiến thức và nhu cầu của mình, từ việc sử dụng plugin đơn giản đến việc tùy chỉnh code phức tạp hơn. Hãy nhớ sao lưu website trước khi thực hiện bất kỳ thay đổi nào, và kiểm tra kỹ lưỡng sau khi áp dụng các thay đổi để đảm bảo mọi thứ hoạt động bình thường.