Mục lục
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.
Mình sẽ không giải thích ý nghĩa của từng mục menu trong WordPress vì đó là kiến thức căn bản. Bạn cần 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 đó:
- $page_title: Tiêu đề của trang nằm trên thẻ
<title> - $menu_title: Tên của menu hiển thị ở danh sách menu
- $capability: Tên quyền chứa những nhóm có thể thao tác với Menu
- $menu_slug: Slug URL của trang
- $function: Hàm sẽ được gọi khi bạn click 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
Vị trí các menu có sẵn trong WordPress
| Vị trí | Menu |
|---|---|
| 2 | Dashboard |
| 4 | Separator |
| 5 | Post |
| 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ể thêm menu vào bất kỳ vị trí nào (trước hoặc sau) menu đã có sẵn của WordPress.
Ví dụ: Thêm menu Project vào sau mục Posts
<?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>';
}
Trong ví dụ trên, mình đã sử dụng hook action admin_menu để thêm menu Project với vị trí 6 (ngay sau Posts ở vị trí 5).
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ị:
- $parent_slug: URL của menu cha
- $page_title: Tiêu đề của trang nằm trên thẻ
<title> - $menu_title: Tên của menu hiển thị ở danh sách menu
- $capability: Tên quyền chứa những nhóm có thể thao tác với Menu
- $menu_slug: Slug URL của trang
- $function: Hàm sẽ được gọi khi bạn click vào menu
Các hàm thêm submenu có sẵn
Ngoài ra, bạn có thể sử dụng một số hàm có sẵn được WordPress cung cấp để thêm submenu vào các menu mặc định:
<?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 làm tương tự như phần thêm menu, chỉ thay đổi một số giá trị.
Xóa Menu ra khỏi Admin WordPress
Có 2 hàm dùng để xóa menu và submenu:
<?php
remove_menu_page(); // Xóa menu
remove_submenu_page(); // Xóa submenu
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ỳ trong admin WordPress. Bài viết này mình không trình bày đầy đủ tất cả chi tiết, nhưng với kiến thức nền tảng này bạn hoàn toàn có thể tự tìm hiểu thêm trên trang Developer của WordPress.
Nếu bạn thấy bài viết hữu ích, hãy để lại nhận xét để mình có thêm động lực viết bài. Mình xin cám ơn!