Cuando estás vendiendo productos externos / afiliados en tu WooCommerce en realidad no necesitas que el cliente acceda a tu página de producto, ni que vea 20 fotos ni nada, cuanto antes vaya a la página de venta del distribuidor real mejor para ti.
Y un modo de conseguirlo es enlazar la imagen destacada de los productos externos y afiliados a la misma URL del producto externo/afiliado.
Son solo 2 pasos:
Índice de contenidos
Desactiva el zoom de WooCommerce
Para que este truco funcione primero hay que desactivar el zoom de las imágenes de los productos, sino se abrirá la imagen en vez del enlace.
Aunque ya publiqué cómo desactivar el zoom de imágenes de WooCommerce aquí tienes el fragmento de código:
/* Desactivar zoom, galería y demás en imágenes de WooCommerce */ add_action( 'after_setup_theme', 'yourtheme_setup' ); function yourtheme_setup() { add_theme_support( 'wc-product-gallery-zoom' ); //Zoom add_theme_support( 'wc-product-gallery-lightbox' ); //Mesa de luz add_theme_support( 'wc-product-gallery-slider' ); //Carrusel }
Redirige la imagen a la URL del producto
Una vez hecho lo anterior ya podemos añadir el código que hará que al hacer clic en la imagen del producto esta lleve a la URL de externo/afiliado del producto:
/* Imagen de producto con enlace a URL externa o afiliada */ add_filter( 'woocommerce_single_product_image_thumbnail_html', 'ayudawp_imagen_url_externa', 100, 2 ); function ayudawp_imagen_url_externa( $html, $post_thumbnail_id ) { global $product; if ( ! $product->is_type( 'external' ) ) return $html; $url = $product->add_to_cart_url(); $pattern = "/(?<=href=(\"|'))[^\"']+(?=(\"|'))/"; $html = preg_replace( $pattern, $url, $html ); return $html; }
Nota importante: El código no funcionará si el producto no tiene asignada una imagen destacada.
¿Dónde meto estos códigos?
Bien preguntado, porque se me había pasado comentarlo 😉
Estos códigos puedes añadirlos al final del archivo functions.php del tema que tengas activo (mejor si es un tema hijo) o a tu plugin personalizado para funciones específicas del sitio.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
A pesar de que estaba buscando cómo enlazar una imagen externa para usarla como imagen destacada a cualquier producto de Woocommerce sin plugins, creo que me servirá la idea de este artículo en un par de proyectos.