Tắt admin bar WordPress cho mọi user trừ admin

Tại Sao Nên Tắt Thanh Quản Trị (Admin Bar) WordPress Cho Người Dùng Khác Admin?
Thanh quản trị (admin bar) WordPress, thường hiển thị ở đầu trang khi người dùng đã đăng nhập, là một công cụ hữu ích cho quản trị viên. Nó cho phép truy cập nhanh chóng vào các chức năng quản trị quan trọng như chỉnh sửa trang, thêm bài viết mới, hoặc duyệt các cập nhật. Tuy nhiên, đối với người dùng không phải là quản trị viên, thanh này có thể trở nên thừa thãi, gây xao nhãng và thậm chí làm lộ các tính năng quản trị không cần thiết.
Việc tắt thanh quản trị cho người dùng không phải là admin mang lại nhiều lợi ích:
- Cải Thiện Trải Nghiệm Người Dùng: Loại bỏ các yếu tố không cần thiết giúp trang web trở nên gọn gàng hơn, tập trung vào nội dung chính, và tạo ra trải nghiệm người dùng tốt hơn.
- Tăng Tính Bảo Mật: Mặc dù thanh quản trị không tiết lộ thông tin nhạy cảm trực tiếp, việc ẩn nó đi giúp giảm thiểu khả năng người dùng vô tình truy cập vào các khu vực quản trị mà họ không được phép.
- Tùy Biến Giao Diện: Cho phép bạn tùy chỉnh giao diện trang web một cách tự do hơn mà không bị giới hạn bởi thanh quản trị cố định.
- Đơn Giản Hóa Giao Diện: Giúp giao diện trang web trở nên đơn giản và thân thiện hơn với người dùng ít kinh nghiệm.
Các Phương Pháp Tắt Thanh Quản Trị WordPress Cho Người Dùng Khác Admin
Có nhiều cách để tắt thanh quản trị WordPress cho người dùng không phải là admin. Dưới đây là một số phương pháp phổ biến nhất:
1. Sử Dụng Plugin
Đây là phương pháp đơn giản và được khuyến khích cho người dùng không quen thuộc với code. Có nhiều plugin miễn phí và trả phí có thể giúp bạn tắt thanh quản trị một cách dễ dàng. Một số plugin phổ biến bao gồm:
- Disable Admin Bar: Plugin đơn giản, dễ sử dụng, chỉ với một vài click chuột là bạn đã có thể tắt thanh quản trị cho tất cả người dùng không phải là admin.
- User Role Editor: Plugin mạnh mẽ hơn, cho phép bạn kiểm soát chi tiết quyền hạn của từng vai trò người dùng, bao gồm cả việc tắt hoặc bật thanh quản trị.
- Admin Menu Editor: Tương tự User Role Editor, nhưng tập trung vào việc chỉnh sửa menu quản trị, bao gồm cả thanh quản trị.
Hướng dẫn sử dụng plugin Disable Admin Bar:
- Cài đặt và kích hoạt plugin Disable Admin Bar từ kho plugin WordPress.
- Truy cập Settings > Disable Admin Bar trong bảng điều khiển WordPress.
- Chọn các vai trò người dùng mà bạn muốn tắt thanh quản trị (ví dụ: Subscriber, Contributor, Author, Editor).
- Nhấp vào nút “Save Changes” để lưu cài đặt.
2. Thêm Code Vào File functions.php của Theme
Phương pháp này đòi hỏi bạn có kiến thức cơ bản về code PHP. Bạn sẽ cần chỉnh sửa file `functions.php` của theme đang sử dụng. Lưu ý: Nên tạo một child theme trước khi chỉnh sửa file `functions.php` để tránh mất các thay đổi khi theme được cập nhật.
Code PHP để tắt thanh quản trị cho người dùng không phải là admin:
function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
show_admin_bar(false);
}
}
add_action('after_setup_theme', 'remove_admin_bar');
Giải thích code:
- `function remove_admin_bar()`: Định nghĩa một hàm có tên là `remove_admin_bar`.
- `if (!current_user_can(‘administrator’) && !is_admin())`: Kiểm tra xem người dùng hiện tại có phải là quản trị viên hay không và có đang ở trang quản trị hay không. Nếu cả hai điều kiện đều đúng (tức là người dùng không phải là quản trị viên và không ở trang quản trị), thì đoạn code bên trong `if` sẽ được thực thi.
- `show_admin_bar(false);`: Tắt thanh quản trị.
- `add_action(‘after_setup_theme’, ‘remove_admin_bar’);`: Thêm hàm `remove_admin_bar` vào action `after_setup_theme`, có nghĩa là hàm này sẽ được thực thi sau khi theme đã được thiết lập.
Các bước thực hiện:
- Tạo một child theme (nếu bạn chưa có).
- Truy cập Appearance > Theme Editor trong bảng điều khiển WordPress.
- Chọn file `functions.php` của child theme.
- Thêm đoạn code trên vào cuối file `functions.php`.
- Nhấp vào nút “Update File” để lưu các thay đổi.
3. Sử Dụng Bộ Lọc (Filter) WordPress
Phương pháp này cũng đòi hỏi kiến thức về PHP và sử dụng bộ lọc (filter) của WordPress để tùy chỉnh hành vi của thanh quản trị.
Code PHP để sử dụng bộ lọc:
add_filter( 'show_admin_bar', 'my_custom_admin_bar' );
function my_custom_admin_bar( $show ) {
return ( current_user_can( 'administrator' ) ) ? $show : false;
}
Giải thích code:
- `add_filter( ‘show_admin_bar’, ‘my_custom_admin_bar’ );`: Thêm một bộ lọc vào `show_admin_bar`. Điều này có nghĩa là hàm `my_custom_admin_bar` sẽ được gọi mỗi khi WordPress quyết định xem có hiển thị thanh quản trị hay không.
- `function my_custom_admin_bar( $show )`: Định nghĩa hàm `my_custom_admin_bar`, nhận một tham số `$show` (giá trị mặc định là `true`, có nghĩa là hiển thị thanh quản trị).
- `return ( current_user_can( ‘administrator’ ) ) ? $show : false;`: Kiểm tra xem người dùng hiện tại có quyền quản trị viên hay không. Nếu có, hàm trả về giá trị ban đầu của `$show` (tức là `true`, hiển thị thanh quản trị). Nếu không, hàm trả về `false` (tức là ẩn thanh quản trị).
Các bước thực hiện tương tự như khi chỉnh sửa `functions.php` ở phương pháp 2.
So Sánh Các Phương Pháp
- Plugin: Dễ dàng cài đặt và sử dụng, phù hợp cho người dùng không có kiến thức về code. Tuy nhiên, có thể làm chậm trang web nếu cài đặt quá nhiều plugin.
- Chỉnh Sửa `functions.php`: Yêu cầu kiến thức về code PHP, nhưng không làm chậm trang web. Cần cẩn thận khi chỉnh sửa để tránh gây ra lỗi.
- Sử Dụng Bộ Lọc (Filter): Yêu cầu kiến thức về code PHP và bộ lọc WordPress. Linh hoạt hơn so với chỉnh sửa `functions.php` trực tiếp, nhưng cũng phức tạp hơn.
Lưu Ý Quan Trọng
Sao Lưu Trang Web: Trước khi thực hiện bất kỳ thay đổi nào, hãy sao lưu toàn bộ trang web của bạn (bao gồm cả cơ sở dữ liệu và các file). Điều này giúp bạn khôi phục lại trang web nếu có sự cố xảy ra.
Sử Dụng Child Theme: Khi chỉnh sửa file `functions.php`, hãy luôn sử dụng child theme để tránh mất các thay đổi khi theme được cập nhật.
Kiểm Tra Kỹ Lưỡng: Sau khi thực hiện thay đổi, hãy kiểm tra kỹ lưỡng trang web để đảm bảo mọi thứ hoạt động bình thường.
Kết Luận
Việc tắt thanh quản trị WordPress cho người dùng không phải là admin là một cách đơn giản nhưng hiệu quả để cải thiện trải nghiệm người dùng, tăng tính bảo mật và tùy biến giao diện trang web. Tùy thuộc vào kiến thức và kinh nghiệm của bạn, bạn có thể chọn một trong các phương pháp được trình bày trong bài viết này để thực hiện việc này.