Có thể bạn sẽ thích:
Để 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.
![[WooCommerce] Sắp xếp sản phẩm theo "Sale" 2 compare sorting options](https://duongthien.com/wp-content/uploads/2019/07/compare-sorting-options.jpg)
- 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.
![[WooCommerce] Sắp xếp sản phẩm theo "Sale" 3 add product sorting](https://duongthien.com/wp-content/uploads/2019/07/add-product-sorting.jpg)
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;
![[WooCommerce] Sắp xếp sản phẩm theo "Sale" 1 orderbysale](https://duongthien.com/wp-content/uploads/2019/07/orderbysale.jpg)
Ad ơi, anh nếu mình muốn cho những sản phẩm có giá khuyến mãi thì đứng trước những sản phẩm có giá bình thường thì sao ạ.