Ẩ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.
/** 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
/* 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.







