Como ya sabes, WooCommerce añade diversas secciones en la parte final de la ficha de producto, antes del footer, mostrando otros productos de la tienda, como los productos relacionados.
Sin embargo no siempre (y veremos por qué) es positivo mostrar estos productos relacionados, y sin embargo WooCommerce no dispone de ninguna opción entre los ajustes para no mostrarlos. Si estás en la necesidad de hacerlo, sigue leyendo porque vamos a ver no una, sino dos formas de ocultar o quitar los productos relacionados de WooCommerce.
Tabla de contenidos
Los productos relacionados de WooCommerce
Por lo general, los productos relacionados son una muy buena idea, y sin duda hay que dejar que se muestren a no ser que tengas una buena razón para lo contrario. Ten en cuenta que:
- Mejoran la navegación por la tienda.
- Aumentan el tiempo de retención del usuario.
- Disminuyen la tasa de rebote de la web.
- Potencian el coss-selling, mostrando al cliente otros productos en función de sus intereses.
Como ves, tienen muchas ventajas que deberíamos aprovechar e incluso potenciar, haciendo también uso de los productos vinculados y (especialmente) los productos vistos recientemente:
Por qué quitar los productos relacionados de WooCommerce
Sin embargo, hay situaciones en las que sí está justificado quitar los productos relacionados, pero suelen ser casos muy concretos. Por ejemplo, cuando ya se están mostrando en otro lugar, precisamente para potenciarlos, cuando lo que vendes son servicios no complementarios o en caso de convenga más llamar la atención del usuario sobre otra acción.
Pueden haber más casos, por supuesto, no es una lista cerrada. Simplemente sopesa los pros y contras de eliminar los productos relacionados, y ten presente las ventajas que puedes perder en caso de hacerlo. Después decide para tu situación particular.
Eliminar los productos relacionados
Una vez has decidido que quieres quitar los productos relacionados en tu tienda (repito: asegúrate de tener un buen motivo para ello que pese más que las ventajas que proporcionan) viene el momento en que te das cuenta de que WooCommerce no cuenta con una opción para ello.
Sin embargo se puede hacer de más de una forma, cada una con sus ventajas y sus desventajas. Aquí te las explico todas, para que tú mismo decidas.
Quitar los productos relacionados por código
La forma más eficiente de hacerlo es mediante código. Además, es un código muy sencillo, que te doy ya hecho aquí. Sólo tienes que usar el siguiente snippet:
remove_action ('woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
Así de sencillo. Acerca de dónde poner ese código ya he hablado en varias ocasiones; si aún no sabes hacerlo, echa un vistazo a esta entrada:
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
Ocultar los productos relacionados con CSS
Si usar código te da «respeto», la alternativa es ocultarlos mediante CSS. La diferencia con el método anterior es que aquí el código que los muestra sí se ejecuta, pero ocultamos la sección. Los enlaces siguen estado ahí, en el código fuente, aunque el usuario no vea la sección en absoluto.
El código a usar (que se puede poner en Apariencia > Personalizar > CSS adicional es:
.related.products{display:none}
Quitar los productos relacionados de forma condicional
Pero siempre se puede ir un poco más allá.
La ventaja de combinar ambos métodos, es que podemos ocultar los productos relacionados de forma condicional, es decir, sólo en aquellos productos en que nos interese hacerlo. Para ello (para los que quieran una explicación algo técnica) podemos enganchar ese CSS al hook wp_print_styles condicionalmente. Un par ejemplos te permitirán verlo de forma muy sencilla.
Nota para puristas. Sí, en la medida de lo posible hay que usar wp_enqueue_styles y no wp_print_styles, pero eso requeriría la carga de un archivo adicional (el wp_enqueue_styles requiere que el CSS esté en un archivo *.css) y para añadir una sola directiva CSS sería matar moscas a cañonazos.
Ocultar los productos relacionados en uno o varios productos específicos
Si sólo queremos ocultar los productos relacionados en una única ficha de producto, podemos hacerlo así:
add_action ('wp_print_styles', function () { if (ID == get_the_ID()) echo ''; }, 10);
Sustituyendo ese «ID» por el ID del producto en cuestión. Aquí te dejo un vídeo sobre cómo averiguar el ID de un producto, por si no sabes hacerlo:
Por otro lado, si quieres ocultar los productos relacionados en más de un producto, se puede hacer así:
add_action ('wp_print_styles', function () { if (in_array (get_the_ID(), array(ID1, ID2))) echo ''; }, 10);
Puedes añadir todos los IDs que necesites dentro de ese paréntesis donde se encuentran «ID1», «ID2» (que, obviamente, debes sustituir por los IDs correspondientes), separados por comas.
Ocultar los productos relacionados por categoría de producto
Otra posibilidad es hacerlo por categoría de producto, usando la función has_term con la taxonomía product_cat, que es la correspondiente a la categoría de productos. Podríamos hacerlo así:
add_action ('wp_print_styles', function () { if (has_term (ID, 'product_cat')) echo ''; }, 10);
En este caso, ese «ID» se refiere al ID de la categoría (lo puedes ver en la URL al editar dicha categoría) y tienes que sustituirlo por este. También puede hacerse para varias categorías, de la misma forma que en el ejemplo anterior para varios productos.
Pero no sólo eso, hemos visto un par de ejemplos pero aquí las posibilidades son ilimitadas: por etiqueta, con exclusiones respecto a la condición general, por rol de usuario, por tipo de producto… Como siempre, el código da libertad completa.
Shoy dice
Hola,
¿Cómo hacer para que no aparezcan los productos relacionados por categoría, y solamente aquellos que hemos indicado concretamente en la ficha de cada producto?.
Esto me permitiría que solo se vean productos relacionados dónde quiero y solo los que quiero.
Muchas gracias.
Pikkabbu
Francisco dice
Hola Enrique,
Buen articulo, pero en mi caso necesitaría quitar todos los productos relacionados de la versión móvil, porque me aparecen descuadrados, no así en la versión Pc que se ven correctamente.
Puedes indicarme cual seria el código?
Gracias por anticipado.
Enrique J. Ros dice
Hola Francisco
Para ello tendrías que usar media queries.
Un saludo
Jose Alejandro dice
¿Como puedo quitar el »quizas te interese» del carrito de woocommerce, trabajo con divi, y no tengo ni idea, y en versión móvil es muy molesto tenerlo.
Enrique J. Ros dice
Hola Jose Alejandro
Podrías ocultarlo con CSS.
Un saludo