This tutorial provides the steps to exclude one or more product categories when using a manual query in Oxygen‘s Easy Posts or Repeater for showing WooCommerce products.
Note: This is for secondary loops. For main queries, use pre_get_posts or woocommerce_product_query
outside the Oxygen’s editor using a plugin like Code Snippets. See this tutorial.
Step 1
In the Oxygen editor, add a Code Block having:
<?php
$args = array(
'post_type' => 'product',
'posts_per_page' => 10,
'no_found_rows' => true,
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'decor' ),
'operator' => 'NOT IN'
),
),
);
echo build_query( $args );
?>
Enter the slugs of product categories that you wish to exclude in the
'terms' => array( 'decor' ),
line. decor
is the slug in this example. To exclude multiple product categories, enter them comma-separated like this:
'terms' => array( 'decor', 'music' ),
Visit the page on the frontend and copy the generated query string.
Ex.:
post_type=product&posts_per_page=10&no_found_rows=1&tax_query%5B0%5D%5Btaxonomy%5D=product_cat&tax_query%5B0%5D%5Bfield%5D=slug&tax_query%5B0%5D%5Bterms%5D%5B0%5D=decor&tax_query%5B0%5D%5Boperator%5D=NOT IN
We are done with the Code Block. So it can be deleted now.
Step 2
In your Easy Posts/Repeater component, set the query type to manual and paste the above string.