NHANWEB

Gỡ bỏ menu admin ra khỏi WordPress 3.1

Một trong những tính năng mới của WordPress 3.1 đó là việc bổ sung thanh công cụ Admin Bar. Tính năng này một số bạn thấy rất hữu ích nhưng mình lại cảm thấy lạ lạ và hơi phiền hà một tí mỗi khi muốn click menu top của mình. Một lý do nữa khiến bạn muốn bỏ thanh admin bar đi đó là nhiều site bắt buộc người dùng phải đăng nhập mới có thể download hoặc comment sẽ gặp phiền hà không cần thiết.

Rồi ! Nếu bạn gặp trường hợp như vậy hoặc nếu bạn muốn remove anh chàng admin bar ra để giúp site mình load nhanh hơn chẳng hạn thì tutorial này có vẻ sẽ cần cho bạn :)

Chỉnh sửa functions.php

Bạn bổ sung đoạn code sau vào file functions.php nhé:

if (!is_admin() && !current_user_can('add_users')){
    wp_deregister_script( 'admin-bar' );
    wp_deregister_style( 'admin-bar' );
    remove_action('wp_footer','wp_admin_bar_render',1000);
}

Chỉnh sửa header.php

Nếu đoạn code trên không có hiệu lực ở functions.php bạn có thể sử dụng đoạn code dưới đây để đưa vào header.php

if (!current_user_can('add_users')){
 wp_deregister_script( 'admin-bar' );
 wp_deregister_style( 'admin-bar' );
 remove_action('wp_footer','wp_admin_bar_render',1000);
}

Bạn nhớ đặt đoạn code này nằm bên trên đoạn nha.

Giải thích một số tùy biến

Bạn sẽ gặp trường hợp sau khi thêm code vào vẫn không thấy gì. NhanWeb sẽ giải thích một số hàm trong WordPress 3.1 cũng như dụng ý sử dụng trong đoạn code trên để chúng ta có thể hình dung việc đang làm từ đó sẽ hiểu tại sao bạn không thấy có sự thay đổi.

!is_admin()

Hàm is_admin() cho phép xác định người đang đăng nhập hiện thời có phải là admin hay không !is_admin() nghĩa là ngược lại (người đăng nhập không phải là admin).

!current_user_can(‘add_users’)

Hàm kiểm tra quyền hạn của một user. Nếu user đang đăng nhập có quyền thêm 1 người dùng mới hàm current_user_can(‘add_user’) sẽ trả về true. Trong trường hợp này !current_user_can(‘add_users’) sẽ trả về true nếu người dùng không có quyền thêm 1 user mới.

wp_deregister_script( ‘admin-bar’ );

Hàm này giúp xóa các script load bởi admin bar.

wp_deregister_style( ‘admin-bar’ );

Xóa các style dùng tạo admin bar.

remove_action(‘wp_footer’,’wp_admin_bar_render’,1000);

Xóa code tạo admin bar ở footer.

Nếu bạn đã nắm được cơ bản các hàm và tính năng như NhanWeb đã giải thích ở trên, mình nghĩ rằng việc tùy biến các hàm này sao cho có lợi không phải là điều khó nữa.

Một số plugin giúp remove admin bar

Nếu bạn không thích “mó” tay vào code. Mình có một cách khác cho bạn: sử dụng plugin. Số lượng plugin remove admin bar tuy không nhiều nhưng cũng không ít chứng tỏ cũng có nhiều người khó chịu vơi anh chàng admin bar này. Dưới đâu là một số plugin có thể bạn quan tâm:

Update code

Viết đến đây thì mình search được một đoạn code khác ngắn gọn hơn để giải quyết bài toán:

add_filter( 'show_admin_bar', '__return_false' );

Dĩ nhiên bạn có thể sử dụng đoạn code trên nếu bạn muốn :)

Exit mobile version