Oferta SiteGround Black Friday

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.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 3

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

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

Sobre el autor

1 comentario en “WooCommerce: Enlazar imagen destacada a la URL del producto externo/afiliado”

  1. 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.

Deja un comentario

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

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio