Skip to main content

[Thủ Thuật WordPress] Tùy chỉnh các Menu trong phần quản trị Admin WordPress

Mục lục:

Bạn cần xóa menu admin trong Wordpress, tùy chỉnh lại giao diện quản trị cho người dùng của WordPress cho đơn giản hơn.

Xóa Menu trang Admin WordPress

Snippet code bên dưới sẽ giúp loại bỏ cách menu dọc bên trái trong Wordpress, bao gồm cả (style, js,...)

add_action( 'admin_menu', 'remove_admin_menus' ,'9999');

//Remove top level admin menus
function remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
    remove_menu_page( 'link-manager.php' );
    remove_menu_page( 'tools.php' );
    remove_menu_page( 'plugins.php' );
    remove_menu_page( 'users.php' );
    remove_menu_page( 'options-general.php' );
    remove_menu_page( 'upload.php' );
    remove_menu_page( 'edit.php' );
    remove_menu_page( 'edit.php?post_type=page' );
    remove_menu_page( 'themes.php' );
}

Xóa Submenu trang Admin WordPress

Nếu muốn chỉ xóa submenu trong trang admin của Wordpress có thể dùng snippet dưới

add_action( 'admin_menu', 'remove_admin_submenus','9999' );

//Remove sub level admin menus
function remove_admin_submenus() {
    remove_submenu_page( 'themes.php', 'theme-editor.php' );
    remove_submenu_page( 'themes.php', 'themes.php' );
    remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=post_tag' );
    remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' );
    remove_submenu_page( 'edit.php', 'post-new.php' );
    remove_submenu_page( 'themes.php', 'nav-menus.php' );
    remove_submenu_page( 'themes.php', 'widgets.php' );
    remove_submenu_page( 'themes.php', 'theme-editor.php' );
    remove_submenu_page( 'plugins.php', 'plugin-editor.php' );
    remove_submenu_page( 'plugins.php', 'plugin-install.php' );
    remove_submenu_page( 'users.php', 'users.php' );
    remove_submenu_page( 'users.php', 'user-new.php' );
    remove_submenu_page( 'upload.php', 'media-new.php' );
    remove_submenu_page( 'options-general.php', 'options-writing.php' );
    remove_submenu_page( 'options-general.php', 'options-discussion.php' );
    remove_submenu_page( 'options-general.php', 'options-reading.php' );
    remove_submenu_page( 'options-general.php', 'options-discussion.php' );
    remove_submenu_page( 'options-general.php', 'options-media.php' );
    remove_submenu_page( 'options-general.php', 'options-privacy.php' );
    remove_submenu_page( 'options-general.php', 'options-permalinks.php' );
    remove_submenu_page( 'index.php', 'update-core.php' );
}

Xóa Top Menu trang Admin WordPress

Snippet xóa Top Menu - Admin Bar Menu trong trang admin của Wordpress có thể dùng:

function devwk_top_menu_page_removing($wp_admin_bar) {
    $wp_admin_bar->remove_node( 'wp-logo' );
}
add_action( 'admin_bar_menu', 'devwk_top_menu_page_removing' ,'9999');

Đổi tên Menu trang Admin WordPress

Trong WordPress, menu được lưu trong biến global $menu, bạn sẽ cần hook 'admin_menu' để thay đổi tên menu như code dưới

function edit_admin_menus() {
	global $menu;

	$menu[5][0] = 'Recipes'; // Change Posts to Recipes
}
add_action( 'admin_menu', 'edit_admin_menus' );

Đổi tên Submenu trang Admin WordPress

Tương tự bạn cũng có thể đổi tên submenu như sau

function edit_admin_menus() {
	global $menu;
	global $submenu;
	
	$menu[5][0] = 'Recipes'; // Change Posts to Recipes
	$submenu['edit.php'][5][0] = 'All Recipes';
	$submenu['edit.php'][10][0] = 'Add a Recipe';
	$submenu['edit.php'][15][0] = 'Meal Types'; // Rename categories to meal types
	$submenu['edit.php'][16][0] = 'Ingredients'; // Rename tags to ingredients
}
add_action( 'admin_menu', 'edit_admin_menus' );

Thay đổi vị trí Menu trang Admin WordPress

Để làm được điều này ta cần sử dụng filter 'menu_order' của WordPress, ví dụ như

function custom_menu_order($menu_ord) {
	if (!$menu_ord) return true;
	
	return array(
		'index.php', // Dashboard
		'separator1', // First separator
		'edit.php', // Posts
		'upload.php', // Media
		'link-manager.php', // Links
		'edit.php?post_type=page', // Pages
		'edit-comments.php', // Comments
		'separator2', // Second separator
		'themes.php', // Appearance
		'plugins.php', // Plugins
		'users.php', // Users
		'tools.php', // Tools
		'options-general.php', // Settings
		'separator-last', // Last separator
	);
}
add_filter('custom_menu_order', 'custom_menu_order'); // Activate custom_menu_order
add_filter('menu_order', 'custom_menu_order');

Thứ tự menu sẽ xuất hiện từ trên xuống dưới, vậy nên bạn đặt menu đầu mảng sẽ được xuất hiện đầu tiên.