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.
Hola, que tal! El código me funciono. Me pregunto si hay forma de eliminar directamente la página de producto individual, ya que no la necesito. Gracias de antemano.