Cách xóa các meta box không cần thiết trong WordPress

Trong các trang chỉnh sửa bài viết hoặc chỉnh sửa trang, thậm chí là trang admin dashboard thường có sẵn rất nhiều meta box khác nhau. Bạn có thể sẽ không cần dùng khá nhiều trong số chúng và muốn xóa nó đi. Việc xóa đi các meta box này sẽ giúp màn hình làm việc của bạn thoáng hơn, cũng như là giúp bạn tập trung vào các nội dung chính hơn. Hãy cùng tìm hiểu cách để xóa các meta box trong WordPress đi nhé.

Bạn có thể lựa chọn dùng code hoặc plugin để làm việc này. Mình sẽ hướng dẫn chi tiết cả 2 cách để bạn tham khảo nhé.

Cách 1: Dùng code để xóa các meta box trong WordPress

WordPress có sẵn một hàm là remove_meta_box để làm việc này. Hàm này có cấu trúc như sau:

remove_meta_box( string $id, string|array|WP_Screen $screen, string $context )

Để hiểu thêm về các thông số của hàm, bạn có thể đọc thêm tại đây.

Ví dụ, trong phần post editor (trang chỉnh sửa bài viết) của WordPress, có một meta box mặc định là Custom Fields như này.

Phần chỉnh sửa bài viết có meta box mặc định là Custom Fields.

Mình sẽ thêm đoạn code sau vào file functions.php để xóa meta box đó đi:

add_action( 'admin_menu', function() {
	remove_meta_box( 'postcustom', 'post', 'normal' );
} );

Và bây giờ, bạn sẽ không còn thấy nó ở đấy nữa.

Meta box được loại bỏ sau khi chèn code vào tệp function.php.

Một ví dụ khác nữa là trong admin dashboard của bạn thường có rất nhiều meta box khác nhau để hiển thị các thông tin chung về website hoặc shortcut như này:

Trong admin dashboard thường có rất nhiều meta box khác nhau để hiển thị các thông tin chung về website hoặc shortcut.

Mình sẽ thử xóa chúng với đoạn code sau:

add_action( 'wp_dashboard_setup', function() {
	remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' );
	remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' );
} );

Và dashboard của mình sẽ trở nên gọn gàng hơn như này đây:

Kết quả của việc loại bỏ các meta box khỏi dashboard sau khi thêm code.

Cách 2: Dùng plugin để xóa các meta box trong WordPress

Có rất nhiều plugin hỗ trợ việc xóa các meta box các bạn nhé. Mình đã thử và thấy Adminimize dùng khá ổn.

Plugin này miễn phí và bạn có thể cài đặt trực tiếp từ wordpress.org nhé.

Sau khi cài đặt plugin, bạn vào Settings > Adminimize để thiết lập nhé. Ở phần này, bạn sẽ thấy Adminimize cung cấp cho bạn rất nhiều lựa chọn, không chỉ riêng xóa meta box đâu nhé. 

Sau khi cài đặt plugin, bạn vào Settings > Adminimize để thiết lập.

Bạn tìm đến mục Write options – Post để xóa meta box trong phần post editor của Post nhé. Nếu bạn muốn xóa meta box ở một post type nào đó, thì chọn Write options – [tên post type].

Adminimize chỉ cho phép bạn deactivate các meta box, không xóa hoàn toàn chúng khi sử dụng code.

Bạn thấy đấy, plugin này chỉ cho phép bạn deactivate các meta box, chứ không xóa hẳn như dùng code nhé. Nhưng điểm hay của plugin này là bạn có thể deactivate từng loại meta box cho từng user roll khác nhau. Như vậy bạn có thể phân quyền xem meta box cho các user roll để tránh việc user thay đổi các thông tin nào đó đấy.

Dùng plugin này khá đơn giản đúng không?

Lời cuối

Nếu bạn muốn xóa hẳn meta box để tất cả các user roll không thấy các meta box đó nữa, thì dùng code có vẻ nhanh hơn nhỉ. Còn nếu bạn muốn phân quyền xem meta box, thì plugin sẽ là phương án hợp lý hơn cả. Nhưng dù sao thì dùng cách nào cũng đều đơn giản hết á.

Ngoài ra, với việc dùng plugin Adminimize, bạn có thể ẩn hiện được rất nhiều thứ khác ở trong admin bar, backend options, plugin settings, … Vậy nên, ngoài việc dùng nó để ẩn/hiện các meta box, thì bạn cũng có thể tìm hiểu thêm các lựa chọn khác mà plugin này cung cấp nhé.

Nếu bạn có cách làm nào hay, hãy chia sẻ cho chúng mình nhé!

Để lại bình luận

Email 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 *