Hướng dẫn Woocommerce

Hiển thị sản phẩm giảm giá WooCommerce (Sale products)

Tiếp tục với chủ để hướng dẫn WooCommerce hôm nay mình sẽ hướng dẫn cho các bạn get danh sách sản phẩm giảm giá WooCommerce (sale products).

Set sản phẩm giảm giá WooCommerce

Cũng giống như sản phẩm nổi bật trong WooCommerce, sản phẩm giảm giá cũng được định nghĩa sẵn trong plugin. Để xác định sản phẩm nào đang giảm giá chúng ta dựa vào trường giá của mỗi sản phẩm.

Khu vực đăng giá của một sản phẩm sử dùng woo

Ở khu vực điền giá sản phẩm sẽ có 2 trường là: Giá bán thườnggiá khuyến mãi.  Khi chúng ta nhập dữ liệu vào trường giá khuyến mãi có nghĩa là sản phẩm này đang giảm giá. Và mặc định thì giá khuyến mãi phải luôn thấp hơn giá bán thường.

Vậy để để chuyển một sản phẩm thường thành sản phẩm đang giảm giá thì chúng ta chỉ cần điền giá trị vào trường giá khuyến mãi 😀

Hiển thị sản phẩm giảm giá WooCommerce

Phần sản phẩm trong plugin WooCommerce là một custom post type, có type là product vì thế để get danh sách sản phẩm giảm giá chúng ta cũng dùng vòng lặp get post new WP_Query, cộng thêm một số thông số khác để lấy chính xác sản phẩm giảm giá.

Cụ thể chúng ta có đoạn code get sản phẩm giảm giá như sau:

<?php $args = array( 
 'post_type' => 'product',
 'posts_per_page' => 10, 
 'meta_query'     => array(
        'relation' => 'OR',
        array(
            'key'           => '_sale_price',
            'value'         => 0,
            'compare'       => '>',
            'type'          => 'numeric'
        )
    )
); ?>
<?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 get ra 10 sản phẩm giảm giá.

Giải thích chuyên sâu :))

Giá giảm của sản phẩm được lưu ở bản wp_postmeta trong database wordpress, với meta_key là “_sale_price“, mình đi kiểm trả trường nào có giá trị lớn hơn 0 thì lấy sản phẩm này ra 😀 Đồng nghĩa với việc sản phẩm đó là sản phẩm giảm giá.

Đây là những sản phẩm đang giảm giá được lưu trong bảng wp_postmeta

Còn nếu bạn không cần hiểu sâu thì cứ copy đoạn code rồi sử dụng là oke rồi. 😀

Bổ sung từ anh: gaumapdev (Gấu mập dev)

Nếu trong trường hợp sản phẩm biến thể chúng ta sử dụng doạn code sau:

<?php $args = array( 
 'post_type' => 'product',
 'posts_per_page' => 10, 
 'meta_query'     => array(
        'relation' => 'OR',
        array(
            'key'           => '_sale_price',
            'value'         => 0,
            'compare'       => '>',
            'type'          => 'numeric'
        ),
        array(
         'key'           => '_min_variation_sale_price',
         'value'         => 0,
         'compare'       => '>',
         'type'          => 'numeric'
     )
    )
); ?>
<?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();?>

Tóm lại:

Hôm nay mình đã hướng dẫn cho các bạn cách để hiển thị sản phẩm khuyến mãi trong WooCommerce. Ngoài cách hiển thị bằng code như phía trên bạn có thể sử dụng shortcode được plugin cung cấp sẵn để hiển thị.

Các shortcode mà plugin cung cấp bạn có thể tìm hiểu qua link này: Shortcode WooCommerce

Mình sẽ tiếp tục cho ra nhiều bài viết về chủ để hướng dẫn WooCommerce các bạn follow fan page Blog Huy Kira để đọc nha 🙂

Chúc các bạn học wordpress thành công!

Huy Kira

Đam mê hóa học, ưng thi vào trường kinh tế... Đậu vào trường Sư phạm, quyết tâm đi dạy... Ra trường đi làm designer, tự học frontend, chuyển qua làm PHP, được công ty đào tạo laravel... Và hiện tại đang code react native(2015) => Fullstack ... ?? tối về viết blog... (Còn tiếp...)

View Comments

  • dùng cái này nếu là sản phẩm dạng Variable thì ko lấy được nè, phải sửa meta_query bổ sung thêm 1 đọan nữa

    'meta_query' => [
    'relation' => 'OR',
    [ // Simple products type
    'key' => '_sale_price',
    'value' => 0,
    'compare' => '>',
    'type' => 'numeric',
    ],
    [ // Variable products type
    'key' => '_min_variation_sale_price',
    'value' => 0,
    'compare' => '>',
    'type' => 'numeric',
    ],
    ],

  • Ad ơi có cách nào khi ở trang chủ thì cho ẩn tên sản phẩm và chỉ hiển thị giá thôi ko

Recent Posts

Cafe với Anh Huy nghe kể chuyện hành trình fonttiengviet.com

Fonttiengviet.com là một dự án website do JKS thực hiện cho khách hàng Huy Academy.…

9 tháng ago

Giới thiệu thiết kế web Quảng Nam Web – quangnamweb.com

Chắc chắn nhiều anh em khi đọc bài viết này sẽ nghĩ tôi đang quảng…

9 tháng ago

Hướng dẫn viết widget bài viết theo chuyên mục trong wordpress

Widget trong WordPress là một công cụ mạnh mẽ cho phép bạn dễ dàng thêm…

11 tháng ago

Tạo website để viết blog với chi phí thấp nhất ai cũng làm được

Hôm nay mình sẽ hướng dẫn cho anh em cách tạo website blog cực kỳ…

11 tháng ago

WordPress có cùi bắp? Có sống tốt với nghề thiết kế website wordpress?

Sống cực tốt anh em ạ :D Sau nhiều năm gắng bó với nghề thiết…

12 tháng ago

Share mẫu website blog cá nhân cực nhẹ, giống hocwordpress.vn

Nhân dịp quay lại viết blog mình share cho anh em code mẫu website blog…

12 tháng ago