Nội dung

Code function

Nếu bạn muốn thêm tính năng lọc các sản phẩm đang được giảm giá trong WooCommerce, chỉ cần chèn đoạn mã ngắn sau vào file functions.php của theme đang sử dụng.

/**
* WooCommerce Sales Sorting Filter
*/
add_filter( 'woocommerce_get_catalog_ordering_args', 'coderlor_get_catalog_ordering_args' );
function coderlor_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', 'coderlor_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'coderlor_catalog_orderby' );
function coderlor_catalog_orderby( $sortby ) {
    $sortby['on_sale'] = 'Sort by on sale';
    return $sortby;
}

Sau khi lưu lại, bạn hãy thử truy cập vào trang danh sách sản phẩm hoặc một danh mục cụ thể để kiểm tra kết quả hiển thị sản phẩm đang giảm giá. Tính năng này phù hợp với các website bán hàng quy mô nhỏ cần lọc cơ bản. Nếu bạn cần hệ thống lọc phức tạp và linh hoạt hơn, hãy cân nhắc sử dụng các plugin lọc sản phẩm chuyên dụng như YITH WooCommerce Ajax Product Filter hoặc WOOF – Products Filter for WooCommerce.

Và đây là kết quả

Code lọc sản phẩm giảm giá trong WooCommerce

Chúc bạn thành công !

Bạn đã tới tận cùng thế giới!
Contact