Skip to content

Instantly share code, notes, and snippets.

@jameskoster
Created January 30, 2012 15:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jameskoster/1705012 to your computer and use it in GitHub Desktop.
Save jameskoster/1705012 to your computer and use it in GitHub Desktop.
WooCommece - Exclude a category from shop page
<?php
/**
* 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' );
}
?>
@markuz05
Copy link

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

@jameskoster
Copy link
Author

Fraid not. Should work. Did you get the slug right? Post on our forum if you're stuck; http://www.woothemes.com/support-forum/?viewforum=150

@rocabola
Copy link

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

@jameskoster
Copy link
Author

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

@rocabola
Copy link

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

@markuz05
Copy link

markuz05 commented Apr 30, 2012 via email

@mchrislay
Copy link

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

@mchrislay
Copy link

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