Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
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

This comment has been minimized.

Show comment Hide comment
@markuz05

markuz05 Mar 13, 2012

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

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

@jameskoster

This comment has been minimized.

Show comment Hide comment
@jameskoster

jameskoster Mar 13, 2012

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

Owner

jameskoster commented Mar 13, 2012

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

This comment has been minimized.

Show comment Hide comment
@rocabola

rocabola Apr 27, 2012

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

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

@jameskoster

This comment has been minimized.

Show comment Hide comment
@jameskoster

jameskoster Apr 28, 2012

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

Owner

jameskoster commented Apr 28, 2012

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

@rocabola

This comment has been minimized.

Show comment Hide comment
@rocabola

rocabola Apr 28, 2012

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

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

This comment has been minimized.

Show comment Hide comment
@markuz05

markuz05 Apr 30, 2012

@mchrislay

This comment has been minimized.

Show comment Hide comment
@mchrislay

mchrislay Jun 7, 2012

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

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

This comment has been minimized.

Show comment Hide comment
@mchrislay

mchrislay Jun 27, 2012

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

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