Dang Minh Hai

Wordpress Developer

  • title
  • title
  • title
  • title

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

Nguồn:
https://thachpham.com/wordpress/wordpress-development/tu-tao-sidebar.html

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' 	        => '<h2 class="widget-title">',
	'after_title' 	        => '</h2>'
));

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; ?>
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận