Admin Menu

#Add menu

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

function register_admin_nav( $title, $key, $slug, $position = null, $arg = array())

#Parameters

Parameter Value Description
title string Tiêu đề của trang nằm trên thẻ title.
key string ID của trang trên menu.
slug string Đường dẫn menu.
key string ID của trang trên menu.
position string Vị trí của trang trên menu.
arg array Mãng các tham số.

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

Parameter Value Description
icon string Đường dẫn tới Icon của 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.

Example

function add_menu_admin() {

	$args = [
		'icon'     => '<img src="icon-post.png">',
		'callback' =>  'plugin_demo_callback'
	];
	
	register_admin_nav( 'Plugin Demo', 'plugin_demo', 'plugins?page=plugin_demo', 'theme', $args);
}

add_action('admin_init', 'add_menu_admin');

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

#Source

src/
├── ...
└── application/
    └── helpers/
        └── menu_helper.php

#Remove menu

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

function remove_admin_nav( $key )

#Source

src/
├── ...
└── application/
    └── helpers/
        └── menu_helper.php

#Add sub menu

Để 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

function register_admin_subnav( $parent_key, $title, $key, $slug, $arg = '', $position = null )

#Parameters

Parameter Value Description
parent_key string ID của menu cha.
title string Tiêu đề của trang nằm trên thẻ title.
key string ID của trang trên menu.
slug string Đường dẫn menu.
key string ID của trang trên menu.
position string Vị trí của trang trên menu.
arg array Mãng các tham số.

Example

function add_menu_admin() {

	$args = [
		'icon'     => '<img src="icon-post.png">',
		'callback' =>  'plugin_demo_callback'
	];
	
	register_admin_nav( 'Plugin Demo', 'plugin_demo', 'plugins?page=plugin_demo', 'theme', $args);

	register_admin_subnav('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';
}

function plugin_demo_callback_demo() {

	echo '<h1>Plugin demo callback demo';
}

#Source

src/
├── ...
└── application/
    └── helpers/
        └── menu_helper.php

#Remove sub menu

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

function remove_admin_subnav( $parent_key, $key )

#Source

src/
├── ...
└── application/
    └── helpers/
        └── menu_helper.php

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