Nuestros visitantes preguntan:
Estoy maravillado con el plugin de comercio electrónico «WooCommerce» en mi sitio web, todo funciona a la perfección :). Al día de hoy tengo clasificados los más de 50 productos disponibles, en 10 categorías principales.
Me gustaría saber cómo excluir productos de una categoría específica de la página tienda de WooCommerce, suponiendo que la categoría a ocultar se llama «Accesorios«.
Gracias por todo,
Iñaki
Respuesta:
Excluir productos de una categoría específica de la página tienda de WooCommerce, es una tarea que puedes lograr fácilmente utilizando el siguiente código, asegúrate de incluirlo en el archivo «functions.php» del tema activo en tu sitio:
Una vez guardados los cambios, los resultados serán visibles en la página «Tienda» de forma similar a:
Hola buenos dias, esto es justo lo que yo quiero hacer, tengo una pagina web en la cual cuando vas a tienda salen todas las categorías incluida una que cree llamada inicio que hace lo mismo que el botón home, me gustaría que esa categoría no se mostrara en la tienda, entiendo que es el mismo cso que aqui exponeis pero poniendo el codigo que habeis dejado, al principio o al final de functions.php, no me oculta la categoria inicio, alguien me puede ayudar?, muchas gracias de antemano, les dejo el enlace a al web para que puedan ver lo que quiero hacer.
http://www.tumodainfantil.com/tienda
¿Cuantas veces esta semana te han dicho que eres un Dios? Pues, súmale una más! Jajajaja
Muchas gracias por el método, tengo 2 días buscando información de como lograr esto, de forma errada había estado editando el archivo functions.php pero de la carpeta wp-includes (por ser el único que conocía).
Excelente web, excelente contenido, excelente forma de compartir conocimientos. Agradecido totalmente, saludos desde Venezuela.
Genial @Jeferson, éxito en tu proyecto 🙂 !
Gracias!!! Me ha funcionado perfecto.
PD: para ocultar más de una categoría, ponéis una coma y abrís otro paréntesis 🙂
no abres otro parentesis, simplemente es un array
ejemplo
‘terms’ => array(‘Case’,’Lamina’), // Escribe aquí la categoría a ocultar
A mi con «paréntesis» no me ha funcionado.
Para mí la solución a sido comillas… De hecho, mi código es un pelín distinto…
add_action( ‘pre_get_posts’, ‘hide_specifics_products_categories_from_shop’ );
function hide_specifics_products_categories_from_shop( $query ) {
if ( !$query->is_main_query() ) return;
if ( !$query->is_post_type_archive() ) return;
if ( !is_admin() && is_shop() ) {
$categories_list = array( ‘landingpage’,’canarias-ceuta-melilla’ ); // Añade aquí el listado de slugs de categorías que quieras ocultar
$query->set( ‘tax_query’, array( array(
‘taxonomy’ => ‘product_cat’,
‘field’ => ‘slug’,
‘terms’ => $categories_list,
‘operator’ => ‘NOT IN’))
);
}
remove_action( ‘pre_get_posts’, ‘hide_specifics_products_categories_from_shop’ );
}
Excelente
gracias, me funcionó! 😀
No me funciona, aun aparece la categoría 🙁
¡Hola Luis!,
Primero que nada quisiera felicitarte por todo este contenido, esta buenísimo y es de mucha ayuda.
Por otro lado, aprovecho para preguntar, ¿existe alguna forma, vía código, de ocultar productos (o sub-categorías) en el sitio completo, en función de la página que llame a la tienda?.
Ejemplo:
Sitio -> productos -> categorías A-B-C-D
Página 1—- Ocultar categorías A-B / mostrar categorías C-D en el sitio.
Página 2—- Ocultar categorías C-D / mostrar categorías A-B en el sitio.
Sin más por el momento, me despido y te agradezco de antemano.
¡Saludos!
recontra gracias desde buenos aires!!