Win Win Media xin chào các bạn, bạn đã bao giờ gặp một khách hàng yêu cầu bạn Thay đổi vị trí tính năng sắp xếp sản phẩm trong Woocommerce chưa, mình đã gặp khách hàng như vậy, bình thường bạn thấy trong danh mục hiện thị sản phẩm của Woocommerce là thứ tự mặc định nhưng khách muốn sản phẩm mới nhất lên đầu như hình hình dưới đây thì bạn sẽ làm thế nào.
Nhận tiện việc code cho khách hàng thay đổi thứ tự tính năng sắp xếp đội ngũ Win Win Media cũng viết thêm các hàm xóa, đổi tên để các bạn có thể tham khảo thêm.
Thay đổi thứ tự các tuỳ chọn sắp xếp
Để thay đổi được thứ tự của các tuỳ chọn sắp xếp, việc mình cần làm là phải định nghĩa lại cả biến array của WooCommerce.
add_filter( ‘woocommerce_catalog_orderby’, ‘hk_change_sorting_options_order’, 5 );
function hk_change_sorting_options_order( $options ){
$options = array(
‘menu_order’ => __( ‘Default sorting’, ‘woocommerce’ ),
‘price’ => __( ‘Sort by price: low to high’, ‘woocommerce’ ),
‘date’ => __( ‘Sort by latest’, ‘woocommerce’ ),
‘popularity’ => __( ‘Sort by popularity’, ‘woocommerce’ ),
‘rating’ => __(‘Sort by average rating’, ‘woocommerce’ ),
);
return $options;
}
Xoá các tuỳ chọn sắp xếp
Để xoá được các tuỳ chọn, mình sẽ sử dụng đến filter hook của WooCommerce woocommerce_catalog_orderby. Hãy thêm đoạn code bên dưới này vào file functions.php nhé.
add_filter( ‘woocommerce_catalog_orderby’, ‘hk_remove_sorting_options’ );
function hk_remove_sorting_options( $options ){
unset( $options[ ‘popularity’ ] );
//unset( $options[ ‘menu_order’ ] );
//unset( $options[ ‘rating’ ] );
//unset( $options[ ‘date’ ] );
//unset( $options[ ‘price’ ] );
//unset( $options[ ‘price-desc’ ] );
return $options;
}
Đoạn code trên cũng đã khá rõ ràng. Để xoá giá trị theo nhu cầu của bạn, hãy mở comment code bằng cách xoá kí tự //.
popularity: Mức độ phổ biến
menu_order: Giá trị mặc định
rating: Điểm đánh giá
date: Mới nhất
price: Giá thấp đến cao
price-desc: Giá cao xuống thấp
Đổi tên các tuỳ chọn sắp xếp
Ở phần này, mình cũng sử dụng cùng hook của WooCommerce giống với phần trên đó là hook woocommerce_catalog_orderby. Hãy xem đoạn code bên dưới này của mình nhé.
add_filter( ‘woocommerce_catalog_orderby’, ‘hk_rename_sorting_options’ );
function hk_rename_sorting_options( $options ){
$options[ ‘price’ ] = ‘Giá thấp lên cao nè’;
return $options;
}
Tương tự như phần trên, bạn có thể tự thêm các thay đổi cho mình bằng các option popularity, menu_order, rating, date, price, price-desc.
Đây là kết bạn mà mình đạt được sau khi dán đoạn code trên vào file functions.php.
Trên mình đã hướng dẫn các bạn cách Xóa, Đổi Tên, Thay đổi vị trí tính năng sắp xếp sản phẩm trong Woocommerce hi vọng kiến thức trên giúp ích cho bạn.
Xem thêm: Xóa Bài Viết Tự Động Xóa Luôn Ảnh Đính Kèm Trong WordPress
Chúc bạn thành công !