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.
- 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;
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 ạ.