Admin Menu

#Add

Để thêm một Menu mới vào hệ thống Menu trong Admin thì bạn sử dụng hàm AdminMenu::add, hàm này có cấu trúc như sau:

static function AdminMenu::add($key, $title, $slug, $args);

#Parameters

$key (string) ID của trang trên menu.

$title (string) Tiêu đề của trang nằm trên thẻ title.

$slug (string) Đường dẫn menu

$args (string) Mãng các tham số mở rộng

Tham số $args bao gồm các tham số

[icon] (string) icon menu

[callback] (string) Hàm sẽ được gọi khi bạn click vào menu, thông thường chúng ta tạo mã HTML trong hàm này.

[hidden] (bool | default false) True sẽ ẩn menu không hiển thị

[position] (string) thứ tự trong menu.

[count] (number | default 0) số notification

#Example

function add_menu_admin() {
    $args = [
        'icon'  => '<img src="icon-post.png">',
        'callback' => 'plugin_demo_callback',
        'position' => 'theme'
    ];
    AdminMenu::add( 'plugin_demo', 'Plugin Demo', 'plugins?page=plugin_demo', $args);
}
add_action('admin_init', 'add_menu_admin');

function plugin_demo_callback() {
    echo '<h1>Plugin demo callback</h1>';
}

#Add sub

Để thêm submenu thì bạn sử dụng hàm register_admin_subnav, hàm này có cấu trúc như sau

static function AdminMenu::addSub($parent_key ,$key, $title, $slug, $args);

#Parameters

$parent_key (string) ID của menu cha.

$key (string) ID menu.

$title (string) Tiêu đề của menu.

$slug (string) Đường dẫn menu

$args (string) Mãng các tham số mở rộng

Tham số $args bao gồm các tham số

[callback] (string) Hàm sẽ được gọi khi bạn click vào menu, thông thường chúng ta tạo mã HTML trong hàm này.

[position] (string) thứ tự trong menu.

[count] (number | default 0) số notification

#Example

function add_menu_admin() {
    $args = [
        'icon'  => '<img src="icon-post.png">',
        'callback' => 'plugin_demo_callback',
        'position' => 'theme'
    ];
    AdminMenu::add('plugin_demo','Plugin Demo', 'plugins?page=plugin_demo', $args);
    AdminMenu::addSub('plugin_demo', 'plugin_demo_sub', 'Plugin Demo Sub', 'plugins?page=plugin_demo_sub', array('callback' => 'plugin_demo_callback_demo'));
}
add_action('admin_init', 'add_menu_admin');

function plugin_demo_callback() {
    echo '<h1>Plugin demo callback</h1>';
}

function plugin_demo_callback_demo() {
    echo '<h1>Plugin demo callback sub</h1>';
}

#Remove

Để xóa một menu ra khỏi hệ thống thì bạn sử dụng hàm AdminMenu::remove, hàm này có cấu trúc như sau

static function AdminMenu::remove($key);

#Remove sub menu

Để xóa một menu ra khỏi hệ thống thì bạn sử dụng hàm AdminMenu::remove, hàm này có cấu trúc như sau

static function AdminMenu::remove($sub_key, $parent_key);

Danh sách Key mặc định

#Menu

Key Title admin root
home Dashboard true true
page Trang nội dung true true
post Bài viết true true
gallery Thư viện true true
theme Giao diện true true
system Hệ Thống true true
plugins Mở rộng false true
user Thành viên true true

#Sub Menu

Key Parent key Title admin root
option theme Cấu hình giao diện true true
menu theme Menu true true
widgets theme Widget true true
option theme Cấu hình giao diện true true
editor theme Editor false true
cache system Quản lý cache false true
tinymce system Cấu hình soạn thảo false true
audit-log system Nhật ký hoạt động false true
user_list user Danh sách false true