Trong WordPress 3. 1 và các phiên bản mới hơn, có một tính năng hoàn toàn mới – thanh quản trị. Nó cho phép bạn thực hiện các tác vụ quản trị trên trang web của mình trong khi duyệt qua giao diện người dùng của nó. Tuy nhiên, có nhiều người muốn tắt tính năng này
Mặc dù thanh quản trị này có thể bị tắt bằng cách thêm bộ lọc vào chức năng của bạn. php, cách dễ nhất và rõ ràng nhất để thực hiện việc này là thông qua trang cấu hình người dùng WordPress
Đăng nhập bằng tài khoản của bạn và sau đó điều hướng đến menu Người dùng > Tất cả người dùng từ cột menu bên trái. Khi ở trên trang này, hãy di chuột qua người dùng đã chọn và nhấp vào Chỉnh sửa xuất hiện
Mật mã
Hãy đến ngay với thịt và khoai tây. Đây là phương pháp tôi đã tạo cho nó
// Removes the admin bar. // Only use it for admin pages where you cannot use show_admin_bar[false]. function remove_admin_bar_hooks[] { // Removes the hooks that render the admin bar. remove_action['template_redirect','_wp_admin_bar_init', 0]; remove_action['admin_init','_wp_admin_bar_init']; remove_action['before_signup_header','_wp_admin_bar_init']; remove_action['activate_header','_wp_admin_bar_init']; remove_action['wp_body_open','wp_admin_bar_render',0]; remove_action['wp_footer','wp_admin_bar_render',1000]; remove_action['in_admin_header', 'wp_admin_bar_render', 0]; // Removes the admin bar class from the body tag. add_filter['body_class',function[$wp_classes, $extra_classes] { // Deletes the admin-bar class from the arrays if present. return array_diff[ array_merge[ $wp_classes, [array] $extra_classes ], array['admin-bar'] ]; },10000,2]; }
Bạn sẽ muốn gọi nó bằng một trong các hook hành động của WordPress. Tôi đề nghị admin_init
Có 2 điều xảy ra trong phương pháp
1. Các móc để khởi tạo và hiển thị thanh quản trị đã bị xóa
Các móc này được tìm thấy trong các dòng 608 đến 616 [kể từ WordPress 5. 8. 1] của wp-includes/default-filters.php
// Admin Bar. // Don't remove. Wrong way to disable. add_action[ 'template_redirect', '_wp_admin_bar_init', 0 ]; add_action[ 'admin_init', '_wp_admin_bar_init' ]; add_action[ 'before_signup_header', '_wp_admin_bar_init' ]; add_action[ 'activate_header', '_wp_admin_bar_init' ]; add_action[ 'wp_body_open', 'wp_admin_bar_render', 0 ]; add_action[ 'wp_footer', 'wp_admin_bar_render', 1000 ]; // Back-compat for themes not using `wp_body_open`. add_action[ 'in_admin_header', 'wp_admin_bar_render', 0 ];
2. Lớp admin-bar
bị xóa
Trong mọi trang WordPress nơi thanh quản trị được hiển thị, thẻ
// Admin Bar. // Don't remove. Wrong way to disable. add_action[ 'template_redirect', '_wp_admin_bar_init', 0 ]; add_action[ 'admin_init', '_wp_admin_bar_init' ]; add_action[ 'before_signup_header', '_wp_admin_bar_init' ]; add_action[ 'activate_header', '_wp_admin_bar_init' ]; add_action[ 'wp_body_open', 'wp_admin_bar_render', 0 ]; add_action[ 'wp_footer', 'wp_admin_bar_render', 1000 ]; // Back-compat for themes not using `wp_body_open`. add_action[ 'in_admin_header', 'wp_admin_bar_render', 0 ];0 của trang sẽ có lớp
admin-bar
Lớp này thông báo cho các chủ đề rằng có một thanh quản trị trên trang, do đó các chủ đề cung cấp bố cục trang thay thế để phù hợp với thanh quản trị không sử dụng nó
Khi nào bạn sẽ sử dụng cái này?
Nếu bạn vô hiệu hóa quyền truy cập vào phụ trợ quản trị viên WordPress cho người dùng của mình vì bất kỳ lý do gì, bạn sẽ thấy điều này hữu ích. Chẳng hạn, đoạn mã sau ngăn Người đăng ký truy cập vào
// Admin Bar. // Don't remove. Wrong way to disable. add_action[ 'template_redirect', '_wp_admin_bar_init', 0 ]; add_action[ 'admin_init', '_wp_admin_bar_init' ]; add_action[ 'before_signup_header', '_wp_admin_bar_init' ]; add_action[ 'activate_header', '_wp_admin_bar_init' ]; add_action[ 'wp_body_open', 'wp_admin_bar_render', 0 ]; add_action[ 'wp_footer', 'wp_admin_bar_render', 1000 ]; // Back-compat for themes not using `wp_body_open`. add_action[ 'in_admin_header', 'wp_admin_bar_render', 0 ];0 khi đăng nhập bằng cách buộc WordPress hiển thị trang 404 thay thế
add_action['admin_init', 'your_admin_init']; function your_admin_init[] { // If a subscriber accesses the admin area. if[current_user_can['subscriber']] { // Triggers the 404 page. global $wp_query; $wp_query->set_404[]; status_header[ 404 ]; get_template_part[ 404 ]; exit; } }
Trong ví dụ trên, mặc dù 404 được hiển thị, WordPress vẫn sẽ phát hiện ra rằng người dùng đang ở trong khu vực quản trị và hiển thị thanh quản trị WordPress. Sử dụng
// Admin Bar. // Don't remove. Wrong way to disable. add_action[ 'template_redirect', '_wp_admin_bar_init', 0 ]; add_action[ 'admin_init', '_wp_admin_bar_init' ]; add_action[ 'before_signup_header', '_wp_admin_bar_init' ]; add_action[ 'activate_header', '_wp_admin_bar_init' ]; add_action[ 'wp_body_open', 'wp_admin_bar_render', 0 ]; add_action[ 'wp_footer', 'wp_admin_bar_render', 1000 ]; // Back-compat for themes not using `wp_body_open`. add_action[ 'in_admin_header', 'wp_admin_bar_render', 0 ];1 sẽ không hoạt động ở đây, vì thanh quản trị không bị tắt trong phần phụ trợ
Phần kết luận
Tôi hy vọng bài viết này đã giúp bạn với những gì bạn đang tìm kiếm. Như thường lệ, hãy để lại nhận xét nếu bạn tìm thấy bất kỳ lỗi nào hoặc có bất kỳ điều gì có giá trị để bổ sung. Nếu bạn thích công việc của chúng tôi, bạn cũng có thể xem xét hỗ trợ chúng tôi trên Patreon