Hỏi về hiển thị bài viết cùng danh mục của custompost type?

Thích 2.58 K Bình luận 0
845 đánh giá

Trả lời câu hỏi tuần 4 tháng 4/2015 của bạn Bành Quang Hùng hỏi về hiển thị bài viết cùng danh mục của custompost type

Bạn Bành Quang Hùng hỏi: Mình tạo 1 custompost type là sản phẩm custom taxonomy là nhóm sản phẩm. 1 sản phẩm có thể thuộc 1 hoặc nhiều nhóm. Mình code hiển thị các sản phẩm liên quan như thế này

<?php$i = 0;$terms = get_the_terms($post->ID, 'loai_sanpham');foreach( $terms as $term){ $cate_id = $term->term_id; $myposts = get_posts(array('order' => 'DESC','post__not_in' => array($post->ID),'posts_per_page'=> 8,'orderby' => 'post_date','post_type' => 'product', 'tax_query' => array(array('taxonomy' => 'loai_sanpham','field' => 'term_id', 'terms' => $cate_id0))));} ;?><?phpforeach ($myposts as $mypost) { $i++;?>

lúc này nó chỉ hiển thị được sản phẩm liên quan trong 1 nhóm thôi, chứ không hiển thị được trong nhiều nhóm. Không biết sai xót chỗ nào, nhờ mọi người xem qua với.
Thanks!


Trả lời câu hỏi trên Diễn Đàn:

DatBui: Do bạn dùng ‘terms’ => $cate_id0 thì nó chỉ lấy theo id của term đầu tiên => hiện chỉ 1 nhóm. Với lại bạn nên đem đoạn này ra ngoài vòng lặp foreach và sửa ‘terms’ => $cate_id0 thành ‘terms’ => $cate_id

$myposts = get_posts(array('order' => 'DESC','post__not_in' => array($post->ID),'posts_per_page'=> 8,'orderby' => 'post_date','post_type' => 'product', 'tax_query' => array( array('taxonomy' => 'loai_sanpham', 'field' => 'term_id', 'terms' => $cate_id0 ) )));

Bành Quang Hùng: Giờ mình muốn phân trang khi hiển thị các sản phẩm nè, thì phải làm cách nào ?
Mình đã thử bằng plugin và code theo trang How to Add Numeric Pagination in Your WordPress Theme nhưng ko được gì cả

DatBuiVậy thì bạn phải thay get_posts thành WP_Query mới sử dụng dc hàm phân trang

<?phpglobal $post;$cate_id=array();$terms = get_the_terms($post->ID, 'loai_sanpham');foreach( $terms as $term){ $cate_id = $term->term_id; }$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;$args=array( 'order' => 'DESC', 'post__not_in' => array($post->ID), 'posts_per_page'=> 8, 'orderby' => 'post_date', 'post_type' => 'product', 'paged' => $paged, 'tax_query' => array( array( 'taxonomy' => 'loai_sanpham', 'field' => 'term_id', 'terms' => $cate_id, ) ) );$q=new WP_Query($args);if($q->have_posts()): while($q->have_posts()): $q->the_post();?>

Nếu bạn có những ý kiến đóng góp nào khác về hiển thị bài viết cùng danh mục của custompost type xin hãy để lời bình luận phía dưới, chúng tớ sẽ phản hồi lại. Rất cảm ơn các bạn đã quan tâm bài viết. Chúc các bạn Học WordPress thành công! 


Bình luận