Các cách ẩn và cấm truy cập thanh admin bar của wordpress

 

Nếu ai đã cài wordpress đều biết, mặc định thanh admin bar sẽ xuất hiện trên top của trang web khi có user đăng nhập. Thanh quản lý này cũng khá tiện lợi, giúp cho thành viên có thể xem thông báo về bài viết mới, tin nhắn, đăng nhập, đăng xuất hay truy cập vào trang cá nhân.
Tuy nhiên, hầu hết các webmaster đều không muốn dùng nó vì thứ nhất nó mang giao diện chung chung, không đồng nhất với giao diện riêng của trang web, thứ 2 là nó liên kết đến nhiều trang web khác thuộc wordpress, cái không cần thiết. Nhưng quan trọng hơn, các webmaster đều không muốn người dùng biết mình xài mã nguồn gì và càng không muốn user có thể truy cập vào trang admin giống như mình (tuy là đã hạn chế).

Thanh admin bar mặc định của wordpress, luôn nằm trên cùng trang web

Thanh admin bar mặc định của wordpress, luôn nằm trên cùng trang web

Vậy làm sao để thành viên quản lý thông tin cá nhân nếu không có thanh admin này. Xin thưa với các bạn là nếu đã cho phép đăng ký thành viên thì website sẽ phải sử dụng các plugin chuyên về quản lý thành viên. Hiện có rất nhiều plugin lớn như: Buddypress, Ultimate member, User pro (riêng User pro có thu phí) hoặc nếu dùng diễn đàn thì có bbPress,…

Vâng, dài dòng lan man để các bạn hiểu rõ vấn đề, giờ chúng ta bắt đầu cách ẩn thanh admin bar và sau đó là cấm truy cập vào trang wp-admin. Công việc thật ra cực kỳ đơn giản.

Các bạn copy đoạn này vào file functions.php của theme  đang sử dụng. Lưu ý, đoạn code này áp dụng cho tất cả user nhưng trừ admin. Nghĩa là chỉ có admin thấy thanh này.

/* Giau Admin Bar voi tat ca user, tru admins. */
add_action('after_setup_theme', 'remove_admin_bar');
function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
show_admin_bar(false);
}
}

Nếu muốn ẩn hoàn toàn, kể cả admin cũng không thấy thì thay đoạn trên bằng đoạn này:

/* Giau Admin Bar voi tat ca user, ke ca admins. */
show_admin_bar(false);

Tới đây, khi thành viên đăng nhập thì thanh admin bar sẽ không xuất hiện bên trên cùng trang web nhưng nếu họ gõ thêm vào /wp-admin, ví dụ diachiweb.com/wp-admin thì họ vẫn vào được trang quản lý.
Để ngăn chặn điều này, bạn cần copy đoạn dưới bỏ vào file functions.php của theme. Đoạn code này sẽ ngăn thành viên thong thường truy cập vào trang wp-admin, chỉ có admin là vào được.

/* Cam truy cap wp-admin, tru admins */
add_action( 'init', 'blockusers_init' );
function blockusers_init() {
if ( is_admin() && ! current_user_can( 'administrator' ) &&
! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
wp_redirect( home_url() );
exit;
}
}

Đến đây là bạn đã hoàn thành mục đích rồi nhé.

Tuy nhiên, ngoài việc dùng code thì các bạn còn có thể dùng plugin để ẩn và cấm truy cập trang admin. Sau nhiều lựa chọn thì mình ưng ý với plugin này: Remove Dashboard Access
Các bạn tải về, cài đặt bình thường và thiết lập như hình nhé.

Thiết lập cho plugin

Thiết lập cho plugin

Cảm ơn các bạn đã xem bài. Có vấn đề gì các bạn có thể để lại bình luận bên dưới.


Xem thêm:
loading...
loading...

Like nếu bạn thấy hay, và nhớ chia sẻ cho bạn bè
 
Bình luận với tài khoản Facebook:

1 Bình luận

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *