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
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
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.
1 Bình luận
I got this site from my friend who told me regarding this
website and at the moment this time I am browsing this web site and reading very informative articles or reviews here.