Skip to content

@jameskoster /functions.php

Embed URL


Subversion checkout URL

You can clone with
Download ZIP
WooCommece - Exclude a category from shop page
* This code should be added to functions.php of your theme
add_filter( 'parse_query', 'custom_parse_query' );
function custom_parse_query( $q ) {
if ( !$q->is_post_type_archive() ) return;
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'tshirts' ),
'operator' => 'NOT IN'
remove_filter( 'parse_query', 'custom_parse_query' );

I tried it, but doesn't work. Any suggestions?


Fraid not. Should work. Did you get the slug right? Post on our forum if you're stuck;


It works! but it excludes all the products of the selected category from the back-end too! any idea?!


Try adding an if (!is_admin) query around the remove_filter line.


fffffast! it works! but i've to put the '!is_admin' query around the whole function: if (!is_admin()){....}
Thanks for your help jameskoster!


This does work, but when I use the Product Category Shortocde [product_category category="test-category-name" per_page="9" columns="3" orderby="date" order="desc"]

The Products from the specified category do NOT list, instead products from another category display, without pagination ..

Any ideas?

thank you


could anyone pretty please see about getting this to work again, since last update this code no longer works. .i still see all categories on the home/shop page

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.