-
-
Save rynaldos-zz/a9d357b1e3791afd9bea48833ff95994 to your computer and use it in GitHub Desktop.
add_filter( 'get_terms', 'get_subcategory_terms', 10, 3 ); | |
function get_subcategory_terms( $terms, $taxonomies, $args ) { | |
$new_terms = array(); | |
// if a product category and on the shop page | |
// to hide from shop page, replace is_page('YOUR_PAGE_SLUG') with is_shop() | |
if ( in_array( 'product_cat', $taxonomies ) && ! is_admin() && is_page('YOUR_PAGE_SLUG') ) { | |
foreach ( $terms as $key => $term ) { | |
if ( ! in_array( $term->slug, array( 'woo' ) ) ) { | |
$new_terms[] = $term; | |
} | |
} | |
$terms = $new_terms; | |
} | |
return $terms; | |
} | |
// Replace "woo" with the product category slug of the category you need hidden | |
// Did this help? Donate me some BTC: 1BEsm8VMkYhSFJ92cvUYwxCtsfsB2rBfiG |
Thanks indeed!
Hey!
I tried adding this to the theme custom code but it did not work. I'm probably doing something wrong.
Can you help me with this? I need the category "Instashop" to not be shown on the Shop page.
For your reference, here is the link to the shop page: https://goo.gl/jEvyyd
Thank You :)
Hi guys,
can anyone explain please where this code should go to? functions.php file or somewhere else?
Hello!
This worked for me, I just created a snippet with the code, modified it to hide the categories from the shop page as per instructions and was able to hide 4 categories in my case:
`add_filter( 'get_terms', 'get_subcategory_terms', 10, 3 );
function get_subcategory_terms( $terms, $taxonomies, $args ) {
$new_terms = array();
// if a product category and on the shop page
// to hide from shop page, replace is_page('YOUR_PAGE_SLUG') with is_shop()
if ( in_array( 'product_cat', $taxonomies ) && ! is_admin() && is_shop() ) {
foreach ( $terms as $key => $term ) {
if ( ! in_array( $term->slug, array( 'cat1','cat2','cat3','cat4' ) ) ) {
$new_terms[] = $term;
}
}
$terms = $new_terms;
}
return $terms;
}`
Thanks!
Hey guys i am trying to use this code on my website but it seems to not be working. Is there a specific wordpress version that i have to be updated to?
@rohankhera18 add it to your child theme's functions.php file (you can go there from file manager or ftp to create another version of the file so your site doesn't break if you're not familiar with wp editor.) then just follow the author's instructions by replacing is_page to is_shop and woo to your desired category.
@andyhsu123 it should work with the latest wp versions 4.8 till 4.9.6 and php 5.6 till 7.2
Hi there
How would I remove the category CLEARANCE SALE from this page?
the CLEARANCE SALE slug is sale-scarves
Many thanks
Great, thanks
Works nicely - appreciate the share!
Works well, thank you very much!
If the above function is not working for you, try this snippet from Woocommerce docs:
https://docs.woocommerce.com/document/exclude-a-category-from-the-shop-page/
If the above function is not working for you, try this snippet from Woocommerce docs:
https://docs.woocommerce.com/document/exclude-a-category-from-the-shop-page/
That a Great way,
Thanks
umaisbinsajjad
Works great! (many other, older, solutions didn't work for me.)