Các bài viết liên quan của một nội dung theo danh mục, tag thường giúp website tăng tính tương tác với người truy cập, giúp giữ chân người dùng cao hơn bằng các nội dung liên quan. Thường một số theme wordpress hỗ trợ một số theme không hỗ trợ việc hiển thị này. Cùng Codfe xem qua các đoạn code liệt kê các bài viết liên quan trong wordpress nhé.
Vị trí để chèn các bài viết liên quan
Các bài viết liên quan thường được chèn cuối các bài viết (single.php), hoặc bên sidebar. Trường hợp bạn muốn gắn code vào các vị trí khác thì nên chuyển thành shortcode với các tham số để tiện sử dụng
1. Hiện thị bài viết liên quan theo tag.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<!-- Hiển thị bài viết theo Tag --> <div id="relatedposttags"> <?php $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; // lấy danh sách các tag liên quan $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), // Loại trừ bài viết hiện tại 'showposts'=>5, // Số bài viết bạn muốn hiển thị. 'caller_get_posts'=>1 ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '<h3>Bài viết liên quan</h3><ul>'; while ($my_query->have_posts()) { $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; } } ?> </div> |
2. Hiện thị bài viết liên quan theo category (danh mục)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?php $categories = get_the_category($post->ID); if ($categories) { $category_ids = array(); foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id; $args=array( 'category__in' => $category_ids, 'post__not_in' => array($post->ID), 'showposts'=>5, // Số bài viết bạn muốn hiển thị. 'caller_get_posts'=>1 ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '<h3>Bài viết liên quan</h3><ul class="list-news">'; while ($my_query->have_posts()) { $my_query->the_post(); ?> <li> <div class="new-img"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(85, 75)); ?></a></div> <div class="item-list"> <h4><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h4> <?php the_excerpt(); ?> </div> </li> <?php } echo '</ul>'; } } ?> |