WordPress hiện tại được xem là 1 trong số các CMS mã nguồn mở phổ biến nhất trên thế giới hỗ trợ từ lập trình viên cho đến người dùng thông thường dễ dàng tự mình thiết kế web một cách nhanh chóng và tiện lợi. Với vô vàn themes (giao diện), plugins (module, trình cắm bổ sung) miễn phí có, trả phí có điều đó khiến WordPress càng ngày càng thể hiện được sức mạnh của 1 trong các CMS mã mở tốt nhất.
Hiện tại mình đang phát triển 1 engine theme nho nhỏ mang tên Polygon template cũng như các child theme đi cùng, trong phần widget và sidebar mình đã giải quyết vấn đề như tiêu bài viết mình nói đến đó là:
Làm sao để xoá danh sách các widgets mặc định trong WordPress ?
Mặc định sau khi cài đặt WordPress hỗ trợ danh sách các Widgets mặc định, nhưng vì 1 lý do nào đó (bạn đang cần phát triển theme với các Widgets tuỳ chỉnh hơn chẳng hạn) thì việc loại bỏ bớt các Widgets sau đây là cần thiết để tránh “hỗn loạn” cho khách hàng cũng như bản thân bạn trong quá trình sử dụng Themes.
WP_Widget_Pages (Widget cho phép hiển thị danh sách trang) WP_Widget_Calendar (Widget cho phép hiển thị lịch) WP_Widget_Archives (Widget cho phép hiển thị archives) WP_Widget_Meta (Widget cho phép hiển thị các link Admin, login, rss...) WP_Widget_Search (Widget cho phép hiển thị khung tìm kiếm) WP_Widget_Text (Widget cho phép hiển thị nội dung Text - HTML) WP_Widget_Categories (Widget cho phép hiển thị danh sách danh mục post) WP_Widget_Recent_Posts (Widget cho phép hiển thị danh sách các post gần đây) WP_Widget_Recent_Comments (Widget cho phép hiển thị danh sách các bình luận gần đây) WP_Widget_RSS (Widget hiển thị RSS, comment) WP_Widget_Tag_Cloud (Widget hiển thị tags) WP_Nav_Menu_Widget (Widget cho phép hiển thị custom menu - menu tuỳ chỉnh)
Như trên bạn thấy đó là danh sách các Widgets mặc định được hỗ trợ bởi WordPress. Vậy có 1 lý do nào đó, như mình đề cập trên mà bạn muốn loại bỏ 1 số widgets nào thì bạn chỉ cần dùng hàm unregister_widget() với đối số là tên widget cần loại bỏ. Bạn có thể viết một hàm khai báo trong action widgets_init trong functions.php hoặc nơi kiểm soát việc đăng ký, xử lý danh sách widgets đầu vào WordPress Theme của bạn như sau:
// unregister all widgets function polygon_remove_default_widgets() { unregister_widget('WP_Widget_Pages'); unregister_widget('WP_Widget_Categories'); unregister_widget('WP_Widget_Recent_Posts'); unregister_widget('WP_Widget_Recent_Comments'); unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Links'); //unregister_widget('WP_Widget_Text'); unregister_widget('WP_Widget_RSS'); unregister_widget('WP_Widget_Tag_Cloud'); unregister_widget('WP_Widget_Calendar'); unregister_widget('WP_Nav_Menu_Widget'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Search'); } add_action('widgets_init', 'polygon_remove_default_widgets', 10);
Sau khi thực thị hàm trên thì danh sách Widgets còn lại của bạn sẽ như sau, bạn thấy nó gọn gàng hơn phải không ?

Lời kết về việc loại bỏ các widgets mặc định trong WordPress
Như bạn đã thấy sau khi thực thi hàm trên các Widgets mặc định của WordPress đã được loại bỏ. Việc này tuy thực sự không cần thiết đối với người dùng thông thường nhưng nếu bạn/ khách hàng của bạn không có nhu cầu sử dụng 1 số widgets mặc định thì việc thể hiện chúng trong phần Widgets là thực sự không cần thiết trong trải nghiệm người dùng phải không ?
- Cafe số 8 -
check ib gmail mih vs admin
Hay . mình đang cần cảm ơn ad . ad cho mình fb hay sđt đc không 01639835538 .
Bài viết hữu ích, xin phép admin cho mình đưa về website của mình 🙂
Hi bạn,
Bạn cứ thoải mái nhé 🙂 ! nếu được chỉ cần trích dẫn nguồn về bài viết này giúp mình là được. Cảm ơn bạn đã quan tâm và ghé thăm.
Thân !