Monday , September 23 2019
Home | CMS | Wordpress | [WooCommerce] Sắp xếp sản phẩm theo “Sale”

[WooCommerce] Sắp xếp sản phẩm theo “Sale”

Để sắp xếp sản phẩm theo thứ tự các sản phẩm đang sale bạn cần thực hiện 1 trong các cách sau:

1. Sử dụng plugin WooCommerce Extra Product Sorting Options

  • Trước tiên bạn tải plugin tại đây và kích hoạt.
  • Vào tuỳ biến của theme->WooCommerce->Product Catalog.
  • Kéo xuống bên dưới tìm mục Add Product Sorting và check vào những tuỳ chọn bạn muốn rồi lưu lại.

2. Sử dụng hàm.

Bạn thêm hàm bên dưới vào file function.php của theme.

add_filter( 'woocommerce_get_catalog_ordering_args', 'wcs_get_catalog_ordering_args' );
function wcs_get_catalog_ordering_args( $args ) {
  
  $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
    if ( 'on_sale' == $orderby_value ) {
      
        $args['orderby'] = 'meta_value_num';
        $args['order'] = 'DESC';
        $args['meta_key'] = '_sale_price';
        
    }
    return $args;
    
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'wcs_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'wcs_catalog_orderby' );
function wcs_catalog_orderby( $sortby ) {
  
    $sortby['on_sale'] = 'On Sale';
    return $sortby;
    
}

Nếu bạn muốn đặt chế độ sắp xếp này là mặc định, thêm hàm sau vào file function.php.

add_filter( 'woocommerce_get_catalog_ordering_args', 'wcs_get_catalog_ordering_args' );
function wcs_get_catalog_ordering_args( $args ) {
  
  $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
    $args['orderby'] = 'meta_value_num';
    $args['order'] = 'DESC';
    $args['meta_key'] = '_sale_price';
    return $args;

 

About duongthien

Đam mê công nghệ, thích xem bóng đá và nghe nhạc hoà tấu.

Leave a Reply