A veces se nos presentan retos extraños. En esta ocasión nos pidieron eliminar el enlace a producto individual que hay en las páginas de productos. Es decir, querían mostrar catálogo de productos y no querían mostrar producto individual.
Entre las diferentes soluciones encontramos una bastante sencilla. Se trataría de añadir el siguiente código a la página functions.php de nuestro tema hijo o a nuestro plugin de customizaciones.
// Remove links to the product details pages from the product listing page of a WooCommerce store remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 ); remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 );
Por otro lado puede ser que solo nos interese eliminar los links que enlazan las páginas de la tienda a productos individuales en categorías específicas. Para este caso recurriríamos a lo siguiente:
// Remove links to the product details pages from the product listing page of a WooCommerce store (only a specific category) if ( is_product() & is_product_category( array('category-slug') ) ) { remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 ); remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 ); }
Un apunte:
Si estos códigos no funcionaran es posible que sea por los hooks o las prioridades. Puedes revisar los códigos en
wp_content/themes/your-theme-name/woocommerce/content-product.php.
Y esto es todo. Recordad haced copia de seguridad antes de realizar pruebas o trabajos no controlados.