Có nhiều cách để hiển thị bài viết cùng chuyên mục trong wordpress, bạn có thể cài plguin, sử dụng các theme có hỗ trợ trong wordpress. Ở đây mình sẽ chỉ các bạn cách viết code để hiển thị bài viết liên quan bằng cách viết code trực tiếp vào trong theme nhé. Sau này mình sẽ có bài hướng dẫn các bạn viết plugin và tạo short code để sử dụng trong wordpress.
Mục lục bài viết:
Hiển thị bài viết cùng chuyên mục trong wordpress
Mở file singe.php trong thư mục theme của bạn và thêm đoạn code sau
<?php
/*
* Code hiển thị bài viết liên quan trong cùng 1 category
*/
// Lấy danh sách các category của bài viết hiện tại
$categories = get_the_category(get_the_ID());
if ($categories) {
// In khối bài viết liên quan
echo '<div class="relatedcat">';
// Chuẩn bị danh sách ID của các category
$category_ids = array();
foreach ($categories as $individual_category) {
$category_ids[] = $individual_category->term_id;
}
// Thiết lập các đối số cho WP_Query
$args = array(
'category__in' => $category_ids,
'post__not_in' => array(get_the_ID()),
'posts_per_page' => 5, // Số bài viết được hiển thị
);
// Tạo đối tượng WP_Query mới
$my_query = new wp_query($args);
if ($my_query->have_posts()) {
// In tiêu đề của khối bài viết liên quan
echo '<h3>Các tin khác</h3><ul>';
// Lặp qua danh sách bài viết liên quan
while ($my_query->have_posts()) : $my_query->the_post();
?>
<li>
<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
</li>
<?php
endwhile;
// Kết thúc danh sách bài viết
echo '</ul>';
}
// Đặt lại dữ liệu query
wp_reset_query();
// Kết thúc khối bài viết liên quan
echo '</div>';
}
?>
Style lại cho đẹp, bạn thêm đoạn code css sau vào file css của theme
/*Bài cùng chuyên mục */
.relatedcat h3 {
text-transform: uppercase;
border-bottom: 1px solid;
width: 135px;
}
.relatedcat ul {
margin-left: 20px;
}
Khi đăng hoặc viết bài bạn nhớ chọn chuyên mục (category) nằm bên phía tay phải của giao diện đăng bài trong wp-admin. Chúc các bạn thành công!
Bình luận bị cấm: Bình luận có chứa yếu tố SPAM và yếu tố quảng cáo.