Bài Viết Liên Quan Trong Custom Post Type
trong main loop thì ta tạo ra các bài viết liên quan rất đơn giản nhưng trong main loop thì việc này không phải dễ dàng chút nào, không phải ai cũng biết. bài viết này mình sẽ hương dẫn các bạn tạo bài viết liên quan cho custom post type
Đây là đoạn code, các bạn copy và past vào nơi mà các bạn muốn hiện các bài viết liên quan ra, thường là file có cấu trúc như sau: single-name-post-type
//Get array of terms
$terms = get_the_terms( $post->ID , 'product_tags', 'string');
//Pluck out the IDs to get an array of IDS
$term_ids = wp_list_pluck($terms,'term_id');
//Query posts with tax_query. Choose in 'IN' if want to query posts with any of the terms
//Chose 'AND' if you want to query for posts with all terms
$second_query = new WP_Query( array(
'post_type' => 'products',
'tax_query' => array(
array(
'taxonomy' => 'product_tags',
'field' => 'id',
'terms' => $term_ids,
'operator'=> 'IN' //Or 'AND' or 'NOT IN'
)),
'posts_per_page' => 3,
'ignore_sticky_posts' => 1,
'orderby' => 'rand',
'post__not_in'=>array($post->ID)
) );
//Loop through posts and display...
if($second_query->have_posts()) {
while ($second_query->have_posts() ) : $second_query->the_post(); ?>
<div class="single_related">
<?php if (has_post_thumbnail()) { ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <?php the_post_thumbnail( 'related_sm', array('alt' => get_the_title()) ); ?> </a>
<?php } else { ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?php } ?>
</div>
<?php endwhile; wp_reset_query();
}
trong đoạn code trên các bạn thay đổi một số thứ như sau, tham số “product_tags” các bạn thay đổi thành các term khác mà bạn muốn vd: price, size… mà các bạn đã khai báo trong taxonomy
phần ‘post_type’ => ‘products’ bạn thay “products” thành Post Type mà các bạn dã khai báo trong function.
Chúc các bạn thành công