Loại trừ các sản phẩm khỏi một danh mục cụ thể trên trang cửa hàng

Vì ‘quần áo’ là một ví dụ trong đoạn mã bên dưới, hãy đảm bảo sử dụng slug danh mục sản phẩm tồn tại trong cửa hàng WooCommerce của bạn.

Lưu ý rằng điều này sẽ chỉ hoạt động khi bạn đặt tùy chọn “Hiển thị Trang Mua sắm” thành ‘Hiển thị Sản phẩm’ trong WooCommerce 'Tùy chỉnh của bạn > Cài đặt danh mục sản phẩm .

Bạn cần thêm mã này vào tệp chủ đề con của mình hoặc thông qua một plugin cho phép thêm các chức năng tùy chỉnh, chẳng hạn như plugin Đoạn mã. Vui lòng không thêm mã tùy chỉnh trực tiếp vào tệp chủ đề mẹ của bạn vì mã này sẽ bị xóa hoàn toàn khi bạn cập nhật chủ đề.functions.php functions.php

/**
 * Exclude products from a particular category on the shop page
 */
function custom_pre_get_posts_query( $q ) {

    $tax_query = (array) $q->get( 'tax_query' );

    $tax_query[] = array(
           'taxonomy' => 'product_cat',
           'field' => 'slug',
           'terms' => array( 'clothing' ), // Don't display products in the clothing category on the shop page.
           'operator' => 'NOT IN'
    );


    $q->set( 'tax_query', $tax_query );

}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );