Widget là một trong các chức năng mở rộng của WordPress, mục đích của chúng là tạo ra một vùng tùy chỉnh dễ dàng cho người sử dụng chỉ việc kéo thả, và được khai báo hỗ trợ tại functions.php trong gói giao diện, được gọi ra bởi một hàm dynamic_sidebar('ID') ở bất kỳ đâu, sau đây mình xin chia sẻ với các bạn cách tạo một vùng widget để các bạn tha hồ kéo thả tùy chỉnh cho giao diện của mình nhé.
Trước tiên, bạn mở file functions.php lên, sau đó chạy hàm sau:
function medex__widgets_init() {
register_sidebar( array(
'name' => 'Sidebar',
'id' => 'sidebar',
'description' => 'Quảng cáo bên sidebar (300 x 300)',
'before_widget' => '<div class="innersidebar">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
) );
}
add_action( 'widgets_init', 'medex__widgets_init' );
Trong đó có các thông số như sau:
- Name: Tên của Sidebar, sẽ được hiển thị đầu tiên để gợi ý cho người dùng
- ID: Cần phải độc nhất, dùng để gọi trên vùng Widget trong giao diện
- Description: Mô tả thêm cho Name
- Before_widget: Thẻ div hoặc bất cứ thứ gì để bọc bên ngoài vùng Widget
- After_widget: Bọc ngoài vùng Widget nhưng thường là đóng thẻ của before_widget !
- Before_title: Thường quy định thẻ heading cho mỗi vùng Widget
- After_title: Thường là đóng thẻ của Before_title
Ta sẽ được một vùng Widget trong GIAO DIỆN > WIDGET như sau:

Vùng Widget vừa tạo xong đã xuất hiện trong admin để sẵn sàng cấu hình
Tiếp theo, nó chưa xuất hiện đâu, các bạn mở file sidebar.php trong gói giao diện lên, gọi chúng bằng hàm dynamic_sidebar('ID') như sau:
<div id="sidebar">
<?php dynamic_sidebar('sidebar') ?>
</div>
Vậy là chúng sẽ hiển thị widget có ID là sidebar đã được khai báo từ trước, giờ thì thử assign bất kỳ cái widget nào có sẵn trong admin, kéo thả chúng vào vùng sidebar và thưởng thức thôi !

Sidebar đã hiển thị bài viết mới nhất với code tôi vừa tạo
Ngoài việc kéo thả, Widget còn có thể làm được nhiều thứ hơn bạn nghĩ, ví dụ như Menu tự tạo, bài đăng liên quan hoặc slide ảnh của bạn, tùy vào cách bạn dùng nó thế nào !
Chúc các bạn thành công !
Thanks bạn mình đã tạo và gọi ra được widget ở vị trí mong muốn, nhưng mình ko biết css design sao cho nó đẹp, cụ thể là nền của title, và muốn thêm 1 hình icon trước title cửa widget nữa. Mong bạn hướng dẫn.
Tôi cần 1 widget chứa những bài chia sẻ từ những nguồn web khác và mở new tab từ trang web của tôi ( kiểu như trang baomoi.vn ). Ngoài trang home của tôi, khi người sử dụng click vào thumbnail sẽ tới trang nguồn bằng new tab.
Jam Việt làm được không?
hi!
Thanks Jam Việt!
Xin chào anh, hiện tại wordpress có một widget dùng để hiển thị nội dung từ website khác. Anh có thể truy cập giao diện > widget và chọn newsfeed hoặc rss hoặc “nguồn web khác” gì đó nhé ! Em đang trên di động nên không thể kiểm tra thử giúp anh !
Thanks !
Tuyệt vời Jam ơi 😀 Đã làm thành công 🙂
làm thế nào để có thể liên kết menu với post của mình ak?
Tks thớt nhé 🙂
tìm kiếm cái bài này miết, giờ thấy rồi cảm ơn Jam nhé!