Trang chủ WordpressWordpress Development Cách tự tạo thêm sidebar cho theme

Cách tự tạo thêm sidebar cho theme

bởi Thạch Phạm
8 bình luận 10,K views

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Các bạn đã từng đọc qua bài tự tạo widget sẽ có câu hỏi làm thế nào để tạo thêm nhiều khu vực hiển thị các widget, mà ta thường gọi vắn tắt là sidebar.

Cách tạo một widget có thể hơi phức tạp nhưng để tạo một sidebar thì không phức tạp như vậy, quy trình nó dễ hơn rất nhiều vì bạn chỉ cần viết vài đoạn code cơ bản. Chỉ cần hiểu rõ cấu trúc theme WordPress, bạn sẽ có thể chèn sidebar vào bất cứ đâu.

Nào, nếu bạn cần biết cách tự tạo sidebar cho theme của mình thì hãy đọc tiếp phần bên dưới, rất ngắn gọn và dễ hiểu.

Bước 1. Đăng ký sidebar

Bước này nghĩa là ta sẽ xác định tạo một sidebar trong theme, sau khi làm xong bước này bạn sẽ thấy sidebar hiển thị bên trong Appearance >> Widgets.

Khuyến mãi Black Friday

Hãy chèn đoạn này vào file functions.php của theme:


register_sidebar(array(
‘name’ => ‘Block after content’,
‘id’ => ‘block-after-content’,
‘description’ => ‘Khu vực sidebar hiển thị dưới mỗi bài viết’,
‘before_widget’ => ‘<aside id="%1$s" class="widget %2$s">’,
‘after_widget’ => ‘</aside>’,
‘before_title’ => ‘<h1 class="widget-title">’,
‘after_title’ => ‘</h1>’
));

Sau khi đăng ký widget mới thì trong phần Appearance -> Widget sẽ có thêm 1 widget area mới là Block after content.

Hãy bỏ một vài widget ví dụ vào sidebar trước nhé.

Bước 2. Hiển thị sidebar vào theme

Ngay sau khi đã có sidebar trong Appearance -> Widget, bây giờ chúng ta sẽ làm một bước cuối cùng nữa đó chính là cho sidebar vừa tạo ở trên hiển thị ra theme.

Để hiển thị, ta sẽ sử dụng một hàm trong WordPress tên là dynamic_sidebar(). Bạn mở file bất kỳ trong theme ra và chèn đoạn dưới đây vào.

<?php dynamic_sidebar(‘block-after-content’); ?>

Trong đó, tham số bên trong chính là ID của sidebar mà bạn đã tạo ở bước 1. Hãy nhớ rằng bạn có thể đặt bất kỳ đoạn nào trong theme, thường là người ta đặt trong file sidebar.php. Bạn cũng có thể đặt vào file single.php nếu muốn hiển thị sidebar ngay bên dưới hoặc trên bài viết.

Nếu bạn muốn chuyên nghiệp hơn thì có thể sử dụng thêm một hàm khác kèm theo mang tên là is_activate_sidebar() để kiểm tra xem sidebar cần gọi có hoạt động không (có chứa widget không).


<?php if ( is_active_sidebar( ‘block-after-content’ ) ) : ?>
<?php dynamic_sidebar( ‘block-after-content’ ); ?>
<?php endif; ?>

Tra cứu: Các hàm liên quan đến Sidebar

Bài viết được đóng góp bởi độc giả tên Đình Chi.
5/5 - (1 bình chọn)
8 bình luận

Có thể bạn quan tâm

Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng.