Nội dung bài viết
Trong bài này mình sẽ hướng dẫn cách tạo menu trong admin WordPress bằng cách sử dụng các hàm add_menu_page và add_submenu_page.
Có lẽ mình không cần phải giải thích ý nghĩa của từng mục menu trong WordPress nữa vì đó là kiến thức căn bản, bạn phải quản lý nội dung trong WordPress tốt thì mới có thể theo dõi bài viết này.
Thêm menu trong admin WordPress
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );
Trong đó:
| Tham số | Ý nghĩa |
|---|---|
$page_title | Tiêu đề của trang, nằm trong thẻ <title> |
$menu_title | Tên menu hiển thị ở danh sách menu |
$capability | Quyền tối thiểu để thấy và thao tác với menu, xem danh sách đầy đủ |
$menu_slug | Slug URL của trang |
$function | Hàm được gọi khi bấm vào menu |
$icon_url | Đường dẫn tới icon của menu |
$position | Vị trí hiển thị menu, tính từ trên xuống |
Chi tiết xem tài liệu chính thức của add_menu_page.
Vị trí các menu có sẵn trong WordPress
| Vị trí | Menu |
|---|---|
| 2 | Dashboard |
| 4 | Separator |
| 5 | Posts |
| 10 | Media |
| 15 | Links |
| 20 | Pages |
| 25 | Comments |
| 59 | Separator |
| 60 | Appearance |
| 65 | Plugins |
| 70 | Users |
| 75 | Tools |
| 80 | Settings |
| 99 | Separator |
Với các vị trí trên, bạn có thể chèn menu vào bất kỳ chỗ nào, trước hoặc sau một menu có sẵn của WordPress.
Ví dụ mình muốn thêm menu Project vào ngay sau mục Posts thì làm như sau:
<?php
add_action('admin_menu', 'addProjectMenu');
function addProjectMenu(){
add_menu_page(
'Project',
'Project',
'manage_options',
'project',
'projectManagement',
'',
'6'
);
}
function projectManagement(){
echo '<h1>This is page project management</h1>';
}
Posts nằm ở vị trí 5, nên đặt $position là 6 sẽ đẩy menu Project xuống ngay dưới nó.
Trong ví dụ trên, mình đã dùng hook admin_menu để thêm menu Project.
Thêm submenu trong admin WordPress
add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );
Với các giá trị:
| Tham số | Ý nghĩa |
|---|---|
$parent_slug | Slug của menu cha |
$page_title | Tiêu đề của trang, nằm trong thẻ <title> |
$menu_title | Tên menu hiển thị ở danh sách menu |
$capability | Quyền tối thiểu để thấy và thao tác với menu |
$menu_slug | Slug URL của trang |
$function | Hàm được gọi khi bấm vào menu |
Ngoài ra, WordPress còn cung cấp sẵn một số hàm để thêm submenu vào các menu có sẵn:
<?php
add_dashboard_page(); // Thêm submenu vào mục Dashboard
add_posts_page(); // Thêm submenu vào mục Posts
add_media_page(); // Thêm submenu vào mục Media
add_pages_page(); // Thêm submenu vào mục Pages
add_comments_page(); // Thêm submenu vào mục Comments
add_theme_page(); // Thêm submenu vào mục Themes
add_plugins_page(); // Thêm submenu vào mục Plugins
add_users_page(); // Thêm submenu vào mục Users
add_management_page(); // Thêm submenu vào mục Tools
add_options_page(); // Thêm submenu vào mục Settings
Cách dùng tương tự như phần thêm menu, chỉ khác một số giá trị truyền vào.
Chi tiết xem tài liệu của add_submenu_page.
Xóa menu khỏi admin WordPress
Có 2 hàm dùng để xóa menu và submenu:
remove_menu_page(); // Xóa menu
remove_submenu_page(); // Xóa submenu
Chi tiết xem tài liệu của remove_menu_page và remove_submenu_page.
Với danh sách các hàm trên, bạn có thể tạo hay xóa một menu bất kỳ. Bài viết này mình không trình bày đầy đủ, nhưng với những đường dẫn tới trang tài liệu dành cho developer ở trên thì bạn hoàn toàn có thể tự tìm hiểu thêm.
Nếu bạn thấy bài viết hữu ích, hãy để lại một nhận xét để mình có thêm động lực viết bài. Mình xin cảm ơn!