WooCommerce genera migas de pan de tienda, categoría, etiqueta y producto único fuera de la caja. Tales migas de pan deben seguir la configuración de enlace permanente de WooCommerce. Por ejemplo, uso la opción «Comprar base con categoría» en WordPress > Enlaces permanentes. En mi caso, por defecto, un producto que pertenece a la categoría » Sin categorizar » tiene una URL = «https://example.com/shop/uncategorized/product-name/» y sus migas de pan de la página de un solo producto siguen la misma regla: «Inicio / Tienda / Sin categorizar / Nombre del producto”.
Ahora, ¿qué sucede si quiero cambiar el nombre de uno de los elementos? ¿Qué pasa si quiero reemplazar uno de los elementos de migas de pan con algo más? Bueno, WooCommerce nos brinda un filtro genial llamado » woocommerce_get_breadcrumb » que podemos usar para editar el contenido de la ruta de navegación antes de mostrarlo. En esta publicación, veremos cómo agregar un sufijo a las categorías de productos y también cómo reemplazar el nombre del producto con el valor SKU. ¡Disfrutar!

Fragmento de PHP 1: Agregar prefijo a elementos de migas de pan de categoría
/** * @snippet Add Prefix to Category @ WooCommerce Breadcrumb * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @testedwith WooCommerce 3.9 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_filter( 'woocommerce_get_breadcrumb' , 'bbloomer_single_product_edit_cat_breadcrumbs' , 9999, 2 ); function bbloomer_single_product_edit_cat_breadcrumbs( $crumbs , $breadcrumb ) { if ( is_product() ) { $index = count ( $crumbs ) - 2; // cat is always second last item $value = $crumbs [ $index ]; $crumbs [ $index ][0] = 'Category: ' . $crumbs [ $index ][0]; } return $crumbs ; } |
Fragmento de PHP 2: Reemplace el elemento de la ruta de navegación del nombre del producto con SKU
/** * @snippet Swap Product with SKU @ WooCommerce Breadcrumb * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @testedwith WooCommerce 3.9 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_filter( 'woocommerce_get_breadcrumb' , 'bbloomer_single_product_edit_prod_name_breadcrumbs' , 9999, 2 ); function bbloomer_single_product_edit_prod_name_breadcrumbs( $crumbs , $breadcrumb ) { if ( is_product() ) { global $product ; $index = count ( $crumbs ) - 1; // product name is always last item $value = $crumbs [ $index ]; $crumbs [ $index ][0] = $product ->get_sku(); } return $crumbs ; } |
Deja una respuesta