Hỏi về hiển thị bài viết cùng danh mục của custompost type?
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_id[0]))));} ;?><?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_id[0] 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_id[0] 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_id[0] ) )));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ảDatBui: Vậ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!