Error miga de pan de WooCommerce productos con varias categorías.
por: Julio Gilete
La miga de pan de WooCommerce se genera de forma automática para cada uno de los productos. Pero, en el caso de que un producto tenga más de una categoría asignada, podría generar confusión a la hora de navegar a través de la miga de pan.
Ejemplo del error:
Tienda de ropa en la que los productos pertenecen a varias categorías. Una chaqueta tiene asignada las categorías «punto», «abrigos y chaquetas» y «nueva colección».
Al ver la ficha de la chaqueta, la miga de pan que se muestra puede no ser la de la categoría del menú por la que hemos llegado al producto, confundiendo al usuario.
Si pulsó «nueva colección» y la miga de pan de la ficha de la chaqueta pone «punto», para ver más productos de «nueva colección», no podrá hacerlo desde la miga de pan.
Cómo poner la miga de pan de WooCommerce según procedencia
Para añadir a Woocoomerce una lógica a la hora de generar la miga de podemos añadir el siguiente «filter«. Se encarga de generar una miga de pan a partir de la categoría por la que se accedió al producto.
Lo que hacemos es mirar desde donde se llega a la página de producto.
Si la página de llegada es diferente de la que se va a pintar en el segundo nivel de la miga de pan, troceamos la URL de llegada para recuperar el último fragmento. Con ese fragmento, buscamos en WordPress alguna categoría de producto que coincida con el slug:
- Si encontramos una, cambiamos el link y el nombre del segundo nivel de la miga de pan por el que acabamos de encontrar.
- En caso de no encontrar ninguna categoría dejamos la miga exactamente igual.

Este es el código (para la versión del plugin WooCommerce 4.7.0).
Copia el código al final del fichero functions.php (está en la carpeta del tema activo) :
/* Cambiamos el segundo nivel de la miga de pan cuando se entra en un producto si la categoría por la que se entra es diferente a la genérica */ add_filter( 'woocommerce_get_breadcrumb', 'woo_custom_category_breadcrum', 20); function woo_custom_category_breadcrum($breadcrumb) { if (is_product()) { // Si el referido es diferente que la categoria que se va a pintar en la miga de pan // Recuperamos la miga de pan desde la que se entró al producto if ($_SERVER['HTTP_REFERER'] != $breadcrumb[1][1]) { // Recuperamos el último segemento de la url de referido $slash = explode('/', $_SERVER['HTTP_REFERER']); $slug = isset($slash[sizeof($slash)-2] ) ? $slash[sizeof($slash)-2] : false; // Y filtramos las categorías de productos utilizando el slug $wp_category = $slug ? get_terms( array( 'slug' => $slug, 'taxonomy' => 'product_cat', 'numpost' => 1 ) ) : []; // Si encontramos algún registro lo cambiamos por el genérico if (sizeof($wp_category)) { list($category) = $wp_category; $breadcrumb[1][0] = $category->name; $breadcrumb[1][1] = get_term_link( $category->term_id, 'product_cat'); // Eliminamos las posibles categorias intermedias que tuviera por defecto $breadcrumb = array_values(array_filter($breadcrumb, function($key) use ($breadcrumb) { return ($key < 2 || sizeof($breadcrumb)-1 == $key); }, ARRAY_FILTER_USE_KEY)); } } } return $breadcrumb; }
Con esto le devolvemos la funcionalidad lógica a la miga de pan: tener un recorrido por los sitios que hemos pasado, hasta llegar al punto en el que estamos.
¿Pensando en tener una tienda online? ¡te ayudamos! Mira nuestras ofertas para desarrollo de tiendas online>>
loading...
Post Relacionados
No aparecen los tipos de producto en WooCommerce (solución)
La venta online puede salvar tu comercio durante y tras el COVID-19
La tienda de vestidos de fiesta Cristina Cendoya, apuesta por el e-commerce
Tienda de chalk paint y muebles reciclados
Cómo mejorar mi Tienda Online
Web UNA4CAREER para contratación postdoctoral
Comparte esto:
- Haz clic para compartir en Facebook (Se abre en una ventana nueva)
- Haz clic para compartir en Twitter (Se abre en una ventana nueva)
- Haz clic para compartir en LinkedIn (Se abre en una ventana nueva)
- Haz clic para imprimir (Se abre en una ventana nueva)
- Haz clic para compartir en Mix (Se abre en una ventana nueva)
tags: breadcrumb woocommerce
esta entrada fue publicada el 27 de f de 20 en 2:42 pm y está archivado en Comercio Electrónico / e-Commerce, Desarrollo web, General, Tienda online. puedes seguir las respuestas a esta entrada a través de nuestro rss 2.0. puedes dejar una respuesta, o trackback desde tu propio sitio web.
Deja una respuesta