Excluir productos que ya existen dentro de las categorías Woocommerce
El Problema
Supongamos que tenemos las siguientes categorías y productos asociados en Woocommerce
- Coches –> (2 productos asociados)
- Gama alta –>(1 producto asociado)
- Gama Baja –>(3 productos asociados)
Cuando accedamos a la categoría Coches, visualizaremos 6 productos mas las dos categorías en el listado. Es decir que tambien se están incluyendo los que están dentro de la categoría y esto realmente confundirá a nuestros usuarios.
En las pociones de Woocommerce desde el menú Apariencia > Personalizar podemos elegir que deseamos que se visualice en el listado de una categoria:
- Visualizar productos
- Mostrar subcategorias
- Mostrar productos y sub categorías.
Pero esto no soluciona nuestro problema. Si utilizamos la opcion de Mostrar productos y sub categorías el problema es que en el listado de productos tambien listara los productos que se encuentran dentro de dichas sub categorías en el listado.
La solución
Con el siguiente código añadiéndolo en tu tema en el archivo functions.php , en la categoria coches solo veremos, las dos categorías, y dos productos que corresponden los asociados a la categoría Coches.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // hide productos into category by iontics.com 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', PHP_INT_MAX ); |
Se el primero en escribir!