Hola.
Cuando tienes producto dentro de una subcategoría siguen perteneciendo a la categoría principal. En el menú Apariencia > Personalizar > WooCommerce tienes la opción Catálogo de productos, en ella puedes modificar la forma en que se ven las categorías. En Visualización de categorías tienes tres opciones a elegir:
Mostrar productos: es la que debes tener ahora seleccionada ahora mismo, te muestra todos los productos que pertenecen a esa categoría, aunque estén en una subcategoría.
Mostrar subcategorías: te muestra únicamente las subcategorías de la categoría seleccionada, sin productos.
Mostrar subcategorías y productos: te muestra los productos de esa categoría y las subcategorías.
Para excluir totalmente los productos de la subcategoría del listado tienes que añadir un código personalizado:
function exclude_product_cat_children( $wp_query ) {
if ( isset( $wp_query->query_vars['product_cat'] ) && $wp_query->is_main_query() ) {
$wp_query->set(
'tax_query', array( array (
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $wp_query->query_vars['product_cat'],
'include_children' => false
) )
);
}
}
add_filter('pre_get_posts', 'exclude_product_cat_children');
Este código tienes que añadirlo en el archivo functions.php de tu tema hijo o en un plugin de personalizaciones como Code Snippets.
Este código está copiado directamente de How to hide subcategory products from main category in Woocommerce?,funciona correctamente con la versión de 5.3.0 de WooCommerce.
Lo mas seguro es que algo estoy haciendo mal pues me sale este error
syntax error, unexpected ‘&
¿Dónde metiste el código?
Baje el Code Snippers, puse nuevo código y ahí le di Paste.
Pues así mismo lo hice yo para la prueba, revisa si el código tiene alguna diferencia, yo acabo de copiarlo y pegarlo y me funciona correctamente
Ya sin error pero el codigo no esta generando la diferencia entre damas y curvy.
Yo añadi un nuevo fragmento de codigo y lo salve como ORDEN.
ahora si listo, muchas gracias