Home Bài viết Wordpress/ Web Tự tạo (khai báo) sidebar cho theme

Tự tạo (khai báo) sidebar cho theme

0

Bài copy từ thachpham.com nhé!

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

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.

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; ?>

Giangliao copy’n patse @@

Giangliao – Nói thêm 1 chút nhé, sidebar là nơi ta có thể đặt các widget của mình bằng cách kéo thả trong Dashboard admin. Khi tạo ra một sidebar , bạn đã cho phép mình đặt hiển thị các widget nó chứa đựng ở vị trí mà mong muốn (có thể là 1 trang hay 1 file tĩnh) bằng cách chèn mã như trên. Thử nghĩ mà xem, các ứng dụng về báo web có thể được tạo ra bằng cách này.

ĐỂ LẠI BÌNH LUẬN CỦA BẠN

Thư điện tử 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 *