АП
if( isset( $_GET['filter'] ) and intval( $_GET['filter'] ) == 1 ){
global $wpdb;
$all = new WP_Query( *параметры запроса товаров из категории* );
$products = $wpdb->get_col( 'SELECT prod_id FROM filters WHERE 1' );
foreach( $products as $key => $value ) if( !in_array( $value, $all->posts ) ) unset( $products[$key] );
$q->set( 'post__in', $products );
}
}
add_action( 'woocommerce_product_query', 'testing_woo_product_query' );