Cómo enlazar un producto de WooCommerce a otra página de tu web o externa.

Nos han pedido recientemente, que el enlace de algunos de los productos de su tienda WooCommerce, vaya directamente a una página externa.
WooCoomerce tiene algo parecido, los productos externos o de afiliados, pero para ir al enlace tienes que entrar en el producto. La idea es que al pinchar en la imagen de cualquier página donde esté listado el producto, esta te lleve al enlace externo.

Cómo enlazar productos de WooCommerce con páginas externas.

El proceso consta de dos pasos.
Lo primero es que, en nuestra solución (mencionaremos otras) creemos los productos como externos con la opción de producto de WooCommerce y pongamos ahí la url.
Nos ha parecido más sencillo y cómodo para los usuarios así.

La segunda es crear un Snippet (como siempre puedes editar functions.php de tu tema hijo también) que detecte si son productos externos y cambie la url por la personalizada.
Os dejamos este posible código:

add_filter( ‘woocommerce_loop_product_link’, ‘cambiar_permalink_prod_externo’, 99, 2 );

function cambiar_permalink_prod_externo ( $link, $product ) {
$this_product_id = $product->get_id();
if ($product->is_type( ‘external’ ))$link = $product->add_to_cart_url();
return $link;
}

Este Snippet podemos modificarlo de muchas maneras:

  • Cambiar el enlace sólo para unos artículos (ponemos como ejemplo un enlace interno):
    if( $this_product_id=== 25 ) $link= '/enlaceinterno';
    return$link;
  • Poniendo un campo personalizado en el producto, por ejemplo con ACF, y su valor como URL.

Espero que os sirva.

Deja un comentario

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

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).

Time limit is exhausted. Please reload CAPTCHA.