Hola @eltuyo
Puedes probar con el siguiente código para que enlace también las imágenes a la url de Amazon.
/* Añadir enlaces de productos externos a imágenes en WooCommerce */
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
add_action( 'woocommerce_before_shop_loop_item', 'mycode_woocommerce_template_loop_product_link_open', 20 );
function mycode_woocommerce_template_loop_product_link_open() {
global $product;
echo '<a rel="nofollow" href="' . esc_url( $product->add_to_cart_url() ) . '" class="woocommerce-LoopProduct-link" data-quantity="'.esc_attr( isset( $quantity ) ? $quantity : 1 ).'" data-product_id="'.esc_attr( $product->id ).'" data-product_sku="'.esc_attr( $product->get_sku() ).'" target="_blank">';
}
Lo he probado en WooCommerce 5 y funciona.
Ya me dices qué tal.
Saludos y ánimo!
Iniciador del debate
eltuyo
(@eltuyo)
Hola @oabadfol,
Donde debo añadir el código (soy bastante novato).
Gracias
Lo ideal es crear un plugin de funciones y añadirlo ahí pero también puedes utilizar el plugin «Code Snippets» para añadirlo.
Claro que también podrías añadirlo en el fichero functions.php del tema activo pero mejor las opciones anteriores.
Venga, mucho ánimo!
Iniciador del debate
eltuyo
(@eltuyo)
Hola de nuevo @oabadfol,
Como ya tenía Code Snippets he copiado el código que has puesto anteriormente y he creado un fragmento nuevo. Guardo y actualizo pero al hacer clic en la web en las imagenes me sigue llevando al producto en mi web pero no a amazon… En fin. Algo estoy haciendo mal seguro.
He copiado literalmente esto y he puesto la opcion de Ejecutar el fragmento de código en todas partes. Por cierto, uso la versión 5.0.0 de Woocommerce.
/* Añadir enlaces de productos externos a imágenes en WooCommerce */
remove_action( ‘woocommerce_before_shop_loop_item’, ‘woocommerce_template_loop_product_link_open’, 10 );
add_action( ‘woocommerce_before_shop_loop_item’, ‘mycode_woocommerce_template_loop_product_link_open’, 20 );
function mycode_woocommerce_template_loop_product_link_open() {
global $product;
echo ‘add_to_cart_url() ) . ‘» class=»woocommerce-LoopProduct-link» data-quantity=»‘.esc_attr( isset( $quantity ) ? $quantity : 1 ).'» data-product_id=»‘.esc_attr( $product->id ).'» data-product_sku=»‘.esc_attr( $product->get_sku() ).'» target=»_blank»>’;
}
El código que has pegado se ve mal, no vaya a ser que esté mal copiado.
Si puedes, pon una captura de cómo lo has puesto en el plugin code snippets para verlo bien…
Saludos.
Iniciador del debate
eltuyo
(@eltuyo)
El caso es que he intentado poner un «pantallazo» antes pero no he encontrado cómo. cuando hago un copia y pega de la imagen no me deja pegar nada en el mensaje aquí
Iniciador del debate
eltuyo
(@eltuyo)
Voy a probar pues:
<img src="https://imagizer.imageshack.com/v2/2736x1824q90/r/922/apHoUK.png" alt="Imagen ejemplo" />
`
Pues parece que lo tienes bien puesto.
Ya que yo lo he probado y si que parece que funciona, te diría que probaras con un tema del repositorio de WordPress para ver si el problema lo tenemos con Divi, ok?
Entonces, por si acaso haz un backup y luego prueba a establecer como tema por defecto un tema estandar como Twenty Twenty one y lo revisas a ver si con ese tema te funciona bien.
Con lo que sea me comentas y vamos viendo.
Saludos.
Iniciador del debate
eltuyo
(@eltuyo)
Pues puedo probar con otro tema, pero el que uso actualmente es generatepress y no divi, por tanto no sé si tiene relación. Voy a probarlo como dices y ya diré. Muchas gracias
Iniciador del debate
eltuyo
(@eltuyo)
Probado tal cual con el twenty twenty one y mismo resultado, al hacer clic en la imagen de producto y no en el botón me lleva al producto en lugar de a amazon. Si no tiene solución sencilla tendré que dejarlo así al menos temporalmente.
Gracias
Es un poco extraño, la verdad.
Yo lo he probado con Storefront pero entiendo que debería funcinar con cualquier tema.
Lo que si te digo es que en mi caso lo que hace es direccionar directamente desde la página de catálogo o tienda, al pulsar sobre la imagen, me lleva al enlace de afiliado.
Por cierto, no tendrás algún plugin de chaché, verdad? Si es así, prueba a vaciar la caché a ver si está afectando…
Saludos.
Iniciador del debate
eltuyo
(@eltuyo)
Gracias @oabadfol. Lo he intentado . No tengo plugins de caché, pero por probar he vaciado la caché y vuelto a la web y sigue exactamente igual.
Se te ocurre alguna otra forma de hacerlo¿?
Probé en functions-php del tema copiando y pegando justo al final, pero tampoco hacía ningún cambio.
En woocommerce cuando creo el producto lo que hago es; creo el título del producto, después me voy a establecer imagen del producto, aquí no toco nada, aparece el título que tiene la foto, la url del archivo (que es precisamente donde te lleva cuando haces clic en la imagen) y en el desplegable de enlace objetivo no lo toco, pone misma página y ahí lo dejo.
Después solamente selecciono en Datos del producto el producto externo/afiliado, pego el link de amazon y cambio a mano el texto del botón. No toco nada más ni cambio nada más. Bueno, sí, el producto creado lo añado a una categoría para tenerlos ordenados.
Supongo que algo se me escapa o que directamente el tema generatepress es incompatible, pero a estas alturas no quiero cambiarlo (y además ayer probé con el twenty twenty one y no funcionó tampoco).
Pues no lo comprendo, la verdad.
A mi me funciona correctamente. Eso si, yo lo tengo probando con el tema Storefront, pero no creo que ese sea el problema.
Lo que si te digo es que yo no cambio el texto del botón, lo dejo como está. Prueba eso a ver…
Y lo único es meter la url de amazon en «URL del producto». No hago más. Bueno, la imagen.
Puedes probar a crear un producto de prueba solo con eso? A ver si damos con ello…
Venga, ánimo!
Iniciador del debate
eltuyo
(@eltuyo)
Bueno, vamos a ver si esto funciona.
He creado un producto de prueba. He hecho todo igual salvo que en la imagen del producto he añadido en URL DEL ENLACE el link de amazon, he puesto tambien en LINK REL nofollow, y ya para añadirle le he puesto ENLACE OBJETIVO nueva página.
Ahora, si voy a mi web y hago clic en la imagen me lleva directamente a la tienda de amazon abriendo una pagina nueva. Funciona!! la mayor duda que tengo con esto es si verdaderamente es un enlace «nofollow», que supongo que si en la imagen de producto aparece el LINK REL y le pongo nofollow no hay problema.