Bài tiếp theo trong loạt bài viết về lập trình theme WooCommerce, mình sẽ hướng dẫn cho các bạn hiển thị sản phẩm mua nhiều trong WooCommerce.
Một lần mua sẽ được tính khi khách order thành công. Có nghĩa khi sản phẩm đó được khách order thì nó sẽ tính sản phẩm đó được 1 lượt mua, trong trường hợp đơn hàng đó có bị hủy hoặc không thanh toán, thì sản phẩm đó vẫn được tính là 1 lần mua.
Đi sâu hơn một tí nào:
Để hiểu kỹ hơn và dễ dàng cho việc code chức năng này chúng ta sẽ đi tìm hiểu database. Số lượt mua của 1 sản phẩm nào đó sẽ được WooCommerce lưu trong bản wp_postmeta và key_value là total_sales ( cái này nằm trong database nha 😀 )
Trên hình bạn có thể nhìn thấy trường meta_value trường này có giá trị 0 có nghĩa là chưa được mua lần nào, ngược lại trường có giá trị khác 0 có nghĩa là đã được mua.
Như phân tích ở trên chừ việc hiển thị sản phẩm mua nhiều bây chừ khá đơn giản, chúng ta chỉ cần lấy sản phẩm có meta_key là total_sales và sắp xếp theo giá trị của meta_value. Chúng ta có đoạn code sau:
<?php $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => 10, 'meta_key' => 'total_sales', 'orderby' => 'meta_value_num' ); ?> <?php $getposts = new WP_query( $args);?> <?php global $wp_query; $wp_query->in_the_loop = true; ?> <?php while ($getposts->have_posts()) : $getposts->the_post(); ?> <?php global $product; ?> <div class="item-product"> <a href="<?php the_permalink(); ?>"> <?php echo get_the_post_thumbnail(get_the_ID(), 'thumnail', array( 'class' =>'thumnail') ); ?> </a> <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4> <div class="price-product"><?php echo $product->get_price_html(); ?></div> <a href="<?php bloginfo('url'); ?>?add-to-cart=<?php the_ID(); ?>">Thêm vào giỏ</a> </div> <?php endwhile; wp_reset_postdata(); ?>
Đoạn code trên mình thực hiện lấy 10 sản phẩm mua nhiều. Mình sẽ giải thích cho các bạn dễ hiểu
Còn phần dưới chỉ là vòng lặp get post trong wordpress bình thường thôi.
Như vậy là mình đã hướng dẫn cho các bạn cách hiển thị sản phẩm mua nhiều trong WooCommerce. Việc chủ động tìm hiểu database rồi thực hiện các chức năng sẽ giúp bạn nâng cao được kỹ nằng lập trình.
Chức năng này cũng khá cần thiết trong lập trình theme, hy vọng mình đã giúp được các bạn có thêm nhiều kiến thức mới. Mình mới tạo 1 site học wordpress từ a đến z các bạn ghé thăm và theo dõi nha.
Chào thân ái và quyết thắng!
Fonttiengviet.com là một dự án website do JKS thực hiện cho khách hàng Huy Academy.…
Chắc chắn nhiều anh em khi đọc bài viết này sẽ nghĩ tôi đang quảng…
Widget trong WordPress là một công cụ mạnh mẽ cho phép bạn dễ dàng thêm…
Hôm nay mình sẽ hướng dẫn cho anh em cách tạo website blog cực kỳ…
Sống cực tốt anh em ạ :D Sau nhiều năm gắng bó với nghề thiết…
Nhân dịp quay lại viết blog mình share cho anh em code mẫu website blog…
View Comments
cảm ơn bạn đã chia sẻ
Xin hỏi bác là thay vì lấy sản phẩm được mua nhiều thì giờ em muốn lấy 10 sản phẩm vừa được khách đặt mới nhất thì dùng query nào ạ?