WooCommerce: Enlazar imagen destacada a la URL del producto externo/afiliado

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:

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.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(3 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido