A volte può essere necessario inserire dei prodotti in una o più categorie di WooCommerce ma non farle vedere nel negozio a front end; di seguito lascio alcune funzioni utili allo scopo.
Come nascondere una categoria WooCommerce colpendo lo slug
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
add_filter( 'get_terms', 'woo_hide_category_by_slug', 10, 3 ); function woo_hide_category_by_slug( $terms, $taxonomies, $args ) { $new_terms = array(); // se sta looppando la categoria o la pagina shop if ( in_array( 'product_cat', $taxonomies ) && ! is_admin() && is_page() ) { foreach ( $terms as $key => $term ) { // inserire lo slug della categoria da nascondere 'pippo-pluto-paperino' if ( ! in_array( $term->slug, array( 'pippo-pluto-paperino' ) ) ) { $new_terms[] = $term; } } $terms = $new_terms; } return $terms; } |
Come nascondere categorie WooCommerce dalla pagina negozio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function woo_hide_categories_ids( $terms, $taxonomies, $args ) { $new_terms = array(); $hide_category = array( '35' ); // ID della categoria da nascondere // se sta looppando la categoria o la pagina shop if ( in_array( 'product_cat', $taxonomies ) && !is_admin() && is_shop() ) { foreach ( $terms as $key => $term ) { if ( ! in_array( $term->term_id, $hide_category ) ) { $new_terms[] = $term; } } $terms = $new_terms; } return $terms; } add_filter( 'get_terms', 'woo_hide_categories_ids', 10, 3 ); |
Come nascondere categorie WooCommerce dal Widget “Categorie Prodotto”
Se stiamo utilizzando il widget categorie prodotto, allora avremo la necessità di nascondere anche in questo posto la categoria, in questo modo.
1 2 3 4 5 6 |
add_filter( 'woocommerce_product_categories_widget_args', 'woo_hide_cat_from_widget' ); function woo_hide_cat_from_widget( $args ) { // ID della categoria da nascondere $args['exclude'] = array('35'); return $args; } |
I presenti codici vanno inseriti nel file functions.php del tema in uso oppure attraverso la creazione di un plugin
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.
Bravissimo! Grazie!
Grazie 🙂
Inserendo questo codice, con l’i della categoria che voglio nascondere mi dice che c’è un errore quando aggiorno la pagina
add_filter( ‘woocommerce_product_categories_widget_args’, ‘woo_hide_cat_from_widget’ );
function woo_hide_cat_from_widget'( $args ) {
// ID della categoria da nascondere
$args[‘exclude’] = array(‘401’ );
return $args;
}
Ciao Andrea,
che errore ti esce ?
Parse error: syntax error, unexpected ”( $args ) {‘ (T_ENCAPSED_AND_WHITESPACE), expecting ‘(‘ in /home/ga1mxol3/public_html/ionoleggioauto.com/wp-content/themes/education-hub-pro/functions.php on line 299
Si è verificato un errore critico sul tuo sito web.
Scopri di più riguardo al debug in WordPress.
C’era un apice di troppo, adesso ho corretto il codice.
Grazie della segnalazione.
come faccio a nascondere solo due prodotti di una categoria dalla pagina shop? grazie
Non puoi escludere determinati prodotti ma solo categorie.
Ciao
Come faccio a nascondere più di una categoria? Grazie
Ciao Enrico, in questo modo :
$args[‘exclude’] = array(’35’,’36’,’37’ );
Grazie Alessio.
Questo è per il widget. Ma per la pagina shop?
Grazie
La stessa cosa qui $hide_category = array(’35’,’36’,’37’ );
Ciao Alessio, grazie per questo post molto utile, il codice per me funziona solo nella pagina negozio, se seleziono una delle categorie non nascoste riappaiono anche quelle che ho nascosto, come posso risolvere?
Ciao Alberto,
la funzione nasconde le categorie dal lopp di WooCommerce, cioè la pagine principale impostata come shop nelle impostazioni.
Se linki manualmente una categoria, la categoria ovviamente si vede.
Come hai strutturato il codice ? Hai un link al sito ?