Ẩn các sản phẩm không muốn hiển thị trong trang danh mục woocommerce sẽ được dùng trong trường hợp bạn chỉ muốn hiện các sản phẩm có điều kiện, ví dụ: các sản phẩm đã có giá, các sản phẩm đã nhập các trường tùy chọn.
ẨN CÁC SẢN PHẨM CÓ GIÁ =0 TRONG WOOCOMMERCE
Chúng ta sẽ can thiệp và woocommerce_product_query để tiến hành việc lọc ra sản phẩm như ý muốn, hàm bên dưới mô tả cách lọc dữ liệu, chỉ hiển thị các sản phẩm có giá trong woocommerce.
1 2 3 4 5 6 7 8 9 10 11 12 |
/** codfe.com: loc san pham woocommerce**/ function codfe_product_query( $q ) { // lấy ids của sản phẩm muốn hiển thị $meta_query = $q->get( 'meta_query' ); $meta_query[] = array( 'key' => '_price', 'value' => 0, 'compare' => '>' ); $q->set( 'meta_query', $meta_query ); } add_action( 'woocommerce_product_query', 'codfe_product_query' ); |
Trong ví dụ trên $meta_query[] sẽ lọc ra các sản phẩm có _price lớn hơn 0
Các bạn có thể xào nấu thêm nhiều cách hiển thị thông qua meta_query nhé.
Xem thêm các ví dụ khác:
Hàm lọc sản phẩm có acf field
1 2 3 4 5 6 7 8 9 10 11 12 |
/* Codfe: SORT PRODUCTS BY ACF FIELD */ function codfe_custom_acffield_product_query( $q ){ $meta_query = $q->get( 'meta_query' ); $meta_query[] = array( 'key' => 'custom_acf_key', 'value' => 'custom_acf_value', 'compare' => '=' ); $q->set( 'meta_query', $meta_query ); } add_action( 'woocommerce_product_query', 'codfe_custom_acffield_product_query' ); |
Quá trình thực hiện có gì ko ổn, chat vào giúp mình để mình cập nhật nhé! Chúc các bạn thành công.