31 C
Hanoi
Thứ hai, Tháng mười hai 9, 2024
spot_img

Hướng dẫn ẩn hiện các Menu trong trang quản trị WordPress

Truy cập:

Chia sẻ:

Khi bạn cài đặt nhiều plugin vào trang web WordPress của mình, các plugin đó thường sẽ tạo thêm một số menu trong phần quản trị. Điều này có thể làm cho trang web của bạn trở nên mất trật tự và không dễ quản lý nữa. Nếu bạn muốn ẩn đi những menu này, hãy tham khảo bài viết sau để biết cách.

Bài viết này sẽ hướng dẫn bạn cách ẩn và hiện các menu trong trang quản trị của WordPress, giúp bạn tạo sự gọn gàng và tiện lợi hơn khi quản lý trang web của mình.

Hướng dẫn ẩn hiện các Menu trong trang quản trị WordPress-congvietblog

Ẩn hiện các Menu trong trang quản trị WordPress

Bước 1: Mở tệp functions.php trong thư mục của chủ đề (theme) mà bạn đang sử dụng.

Bước 2: Thêm đoạn mã sau vào tệp functions.php:

function cvblog_admin_menus() {
   remove_menu_page( 'index.php' ); // Menu Bảng tin
   remove_menu_page( 'edit.php' ); // Menu Bài viết
   remove_menu_page( 'upload.php' ); // Menu Media
   remove_menu_page( 'edit.php?post_type=page' ); // Menu Trang
   remove_menu_page( 'edit-comments.php' ); // Menu Bình luận
   remove_menu_page( 'themes.php' ); // Menu Giao diện
   remove_menu_page( 'plugins.php' ); // Menu Plugins
   remove_menu_page( 'users.php' ); // Menu Thành viên
   remove_menu_page( 'tools.php' ); // Menu Công cụ
   remove_menu_page( 'options-general.php' ); // Menu cài đặt
}
add_action( 'admin_menu', 'cvblog_admin_menus' );

Trong đoạn mã trên, mình đã sử dụng hàm remove_menu_page để ẩn các menu mặc định của WordPress. Bạn có thể sửa đổi mã này để chỉ ẩn đi những menu mà bạn muốn.

Ví dụ bạn chỉ muốn ẩn Menu Plugin đi thì đoạn code sẽ là :

function cvblog_admin_menus() {
   remove_menu_page( 'plugins.php' ); // Menu Plugins
}
add_action( 'admin_menu', 'cvblog_admin_menus' );

Bước 3: Lưu lại tệp functions.php.

Bây giờ, các menu bạn đã chọn sẽ bị ẩn trong trang quản trị của WordPress. Vui lòng chỉnh sửa mã để ẩn hoặc hiện menu cụ thể tùy theo nhu cầu của bạn.

Ẩn Menu của các Plugin tạo ra

Nếu bạn muốn ẩn menu của các plugin đã cài đặt, bạn có thể tìm tên menu của plugin đó trên thanh địa chỉ của trình duyệt khi bạn truy cập menu đó. Sau đó, sử dụng hàm remove_menu_page để ẩn menu đó, giống như ví dụ trong bài viết.

Ví dụ:
Bạn có thể để ý khi vào Menu Plugin đó thường sẽ có dạng như ảnh bên dưới

Hướng dẫn ẩn hiện các Menu trong trang quản trị WordPress-congvietblog

Trên thanh Address trình duyệt Bạn lưu ý hình vuông màu đỏ mình vẽ, đây chính là name để bạn sử dụng ẩn Menu plugin đó đi.

function cvblog_admin_menus() {
   remove_menu_page( 'wpcf7' ); // Xóa Menu Contact form 7
   remove_menu_page( 'kk_star_settings' ); // Xóa Menu kk Star Ratings
   remove_menu_page( 'wpseo_dashboard' ); // Xóa Menu Seo By Yoast
}
add_action( 'admin_menu', 'cvblog_admin_menus' );

Ẩn theo ID cụ thể

Nếu bạn muốn một người dùng cụ thể ( trong trường hợp của mình là quản trị viên có id=1 ) KHÔNG THỂ xem menu (được tạo bởi plugin), hãy xem mã bên dưới (xem dòng # 3):

/* Hide plugin/theme/menu in the WordPress dashboard area */
function wpdocs_remove_menusTwo() {
    if (get_current_user_id() == 1) {
        remove_menu_page('activity_log_page'); //Activity Log WP Plugin
    }
}
 
add_action('admin_init', 'wpdocs_remove_menusTwo');

Đoạn code này là một ví dụ về cách ẩn một trang menu trong khu vực bảng điều khiển (dashboard) của WordPress dựa trên một điều kiện. Hãy xem giải thích từng phần của đoạn code:

  1. function wpdocs_remove_menusTwo() { ... }: Đây là một hàm PHP có tên wpdocs_remove_menusTwo. Đoạn code này định nghĩa một hàm, và bên trong hàm này sẽ chứa code để ẩn trang menu trong WordPress dashboard.
  2. if (get_current_user_id() == 1) { ... }: Đây là một câu điều kiện kiểm tra xem người dùng hiện tại có phải là người dùng có ID là 1 hay không. Hàm get_current_user_id() được sử dụng để lấy ID của người dùng hiện tại. Nếu ID của người dùng hiện tại là 1 (điều kiện này kiểm tra xem người dùng có ID là 1), thì code bên trong dấu ngoặc nhọn { ... } sẽ được thực hiện.
  3. remove_menu_page('activity_log_page');: Đây là lệnh được sử dụng để ẩn một trang menu có tên ‘activity_log_page'. Điều này áp dụng cho một plugin gọi là “Activity Log WP Plugin”. Cụ thể, nếu người dùng hiện tại có ID là 1, trang menu này sẽ bị ẩn đi và không còn hiển thị trong khu vực bảng điều khiển của WordPress.
  4. add_action('admin_init', 'wpdocs_remove_menusTwo');: Đoạn này sử dụng add_action để thêm hành động (action) vào bảng điều khiển của WordPress. Hành động này được gọi là ‘admin_init' và sẽ gọi đến hàm wpdocs_remove_menusTwo khi bảng điều khiển được khởi tạo. Điều này đảm bảo rằng khi một người dùng truy cập vào trang quản lý của WordPress, code sẽ kiểm tra ID của người dùng và ẩn trang menu ‘activity_log_page' nếu người dùng có ID là 1.

Tóm lại, đoạn code này làm việc ẩn trang menu của một plugin cụ thể trong WordPress dashboard dựa trên ID của người dùng hiện tại. Nếu người dùng có ID là 1, trang menu ‘activity_log_page' của plugin “Activity Log WP Plugin” sẽ bị ẩn.

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 quản trị WordPress

Để xóa Top Menu – Admin Bar Menu trong trang quản trị 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');

Đoạn code này dùng để loại bỏ một mục menu cụ thể (trong trường hợp này là biểu tượng “wp-logo” của WordPress) từ thanh Admin Bar trong WordPress. Hãy xem giải thích từng phần của đoạn code:

  1. function devwk_top_menu_page_removing($wp_admin_bar) { ... }: Đây là một hàm PHP có tên devwk_top_menu_page_removing. Đoạn code này định nghĩa một hàm, và bên trong hàm này sẽ chứa code để loại bỏ một mục menu từ thanh Admin Bar.
  2. $wp_admin_bar->remove_node( 'wp-logo' );: Đoạn code này sử dụng phương thức remove_node của đối tượng $wp_admin_bar để loại bỏ mục menu có tên là ‘wp-logo'. Trong trường hợp này, ‘wp-logo' là biểu tượng WordPress hiển thị trong Admin Bar, nơi mà người dùng có thể bấm vào để trở về trang chính của trang quản trị WordPress.
  3. add_action( 'admin_bar_menu', 'devwk_top_menu_page_removing', '9999');: Đoạn này sử dụng hàm add_action để thêm một hành động (action) vào thanh Admin Bar của WordPress. Hành động này là ‘admin_bar_menu'. Khi thanh Admin Bar được tạo, hàm devwk_top_menu_page_removing sẽ được gọi. Số ‘9999' cuối cùng là ưu tiên của hành động, cho biết khi hàm này nên được thực hiện trong chuỗi các hành động khác. Số này cao hơn nhiều so với ưu tiên mặc định, đảm bảo rằng hàm này sẽ thực hiện sau các hành động khác trong chuỗi.

Tóm lại, đoạn code này loại bỏ biểu tượng “wp-logo” (biểu tượng WordPress) khỏi thanh Admin Bar của WordPress bằng cách sử dụng hàm remove_node. Hành động này được gắn kết với thanh Admin Bar thông qua add_action, và nó sẽ thực hiện sau khi thanh Admin Bar được tạo.

Đổi tên Menu trang quản trị 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] = 'Bài viết'; // Change Posts to Recipes
}
add_action( 'admin_menu', 'edit_admin_menus' );

Đoạn code này dùng để sửa đổi mục menu trong trang quản lý (Admin Menu) của WordPress. Cụ thể, nó thay đổi tên của mục menu “Posts” thành “Bài viết”. Hãy xem giải thích từng phần của đoạn code:

  1. function edit_admin_menus() { ... }: Đây là một hàm PHP có tên edit_admin_menus. Hàm này được sử dụng để thực hiện các thay đổi trong mục menu của trang quản lý của WordPress.
  2. global $menu;: Dòng này sử dụng biến toàn cục $menu. Biến này chứa thông tin về tất cả các mục menu trong trang quản lý của WordPress. Bằng cách sử dụng global, bạn có thể truy cập và thay đổi biến này trong hàm.
  3. $menu[5][0] = 'Bài viết';: Dòng này thay đổi tên của mục menu thứ 5 trong danh sách $menu. Mục menu thứ 5 thường là “Posts” trong WordPress. Bằng cách gán giá trị mới “Bài viết” cho phần tử đầu tiên của mục menu thứ 5 ($menu[5][0]), nó sẽ thay đổi tên của mục menu “Posts” thành “Bài viết”.
  4. add_action( 'admin_menu', 'edit_admin_menus' );: Đoạn này sử dụng hàm add_action để thêm một hành động (action) vào trang quản lý (Admin Menu) của WordPress. Hành động này là ‘admin_menu'. Khi trang quản lý được tạo, hàm edit_admin_menus sẽ được gọi để thực hiện sửa đổi tên mục menu “Posts” thành “Bài viết”.

Tóm lại, đoạn code này thay đổi tên mục menu “Posts” thành “Bài viết” trong trang quản lý của WordPress bằng cách sử dụng biến toàn cục $menu và hàm add_action.

Đổ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');

Khá đơn giản phải không bạn.

Kết luận

Trong bài viết này, mình đã hướng dẫn cách ẩn và hiện các menu trong trang quản trị của WordPress. Việc này có thể giúp bạn duyệt và quản lý trang web của mình một cách dễ dàng hơn, đặc biệt khi bạn đã cài đặt nhiều plugin và muốn tùy chỉnh giao diện trang quản trị theo ý muốn. Bằng cách sử dụng mã PHP đơn giản, bạn có thể ẩn đi những menu không cần thiết hoặc làm mất trật tự trang quản trị theo cách bạn muốn. Hãy áp dụng các hướng dẫn trên và tùy chỉnh trang quản trị của WordPress theo nhu cầu của bạn.

Có thể bạn quan tâm:

Nếu bạn thích bài viết này, vui lòng đăng ký Kênh YouTube của CongVietBlog để xem các video hướng dẫn về WordPress. Bạn cũng có thể tìm thấy CongVietBlog trên Facebook.

5 1 đánh giá
Đánh giá
Công Việt Blog
Công Việt Bloghttps://congvietit.com
Chào các bạn, mình là Công Việt, mình đến từ kênh Youtube Công Việt Blog. Blog này hiểu đơn giản mình viết những thứ mình học được, áp dụng được và cung cấp những tài nguyên mà mình sử dụng, cũng là nơi để mình lưu trữ tài nguyên. Phần "Thành viên VIP" với gói chỉ 50k để giúp mình duy trì website mà thôi, hi vọng được sự ủng hộ của các bạn.
Theo dõi
Thông báo về
guest
0 Bình luận
cũ nhất
mới nhất lượt bình chọn
Inline Feedbacks
View all comments
banner quang cao hostinger-congvietblog-congvietit
ma giam gia khi mua hosting vps congvietitcom

Bài viết liên quan

JNews – WordPress Newspaper Magazine Blog AMP Theme Version 11.6.5

JNews là giao diện được thiết kế để phục vụ mọi nhu cầu của người sử dụng. Với JNews, bạn có thể khám phá những tính năng tuyệt vời nhất mà một website nên sở hữu. JNews cung cấp hơn 120 giao diện mẫu ở các lĩnh vực khác nhau như blog, tin tức.

Avada Theme | Responsive Multi-Purpose Theme Version 7.11.11

Avada là theme WordPress quảng cáo số 1 trên thị trường. Nói một cách đơn giản, đây là theme WordPress...

Electro Electronics Store WooCommerce Theme Version 3.5.3

Electro Electronics Store WooCommerce Theme của WordPress linh hoạt và linh hoạt, được xây dựng với sự trợ...

WoodMart – Responsive WooCommerce WordPress Theme Version 7.6.0 mới nhất

WoodMart – Responsive WooCommerce WordPress Theme là một theme cao cấp được tối ưu hóa cho việc phát...
0
Hãy cho mình xin 1 bình luận nha bạn yêu !!!x