WooCommerce: Cómo hacer que el botón de compra en productos externos/afiliados abra en nueva ventana

Cuando creas un producto externo o afiliado en WooCommerce el botón de compra, que ya sabes que es personalizable el texto, se abre por defecto en la misma ventana en la que está, la de tu tienda, pero ¿y si quieres que abra en una nueva pestaña/ventana?

Pues resulta que WooCommerce no tiene ningún ajuste para esto, así que toca ser creativo.

¿Cómo hago que los botones de compra de productos externos/afiliados abran en una ventana nueva?

Si ya lo tienes decidido, para que el botón de compra de producto externos o afiliados de WooCommerce abran en una pestaña o ventana nueva del navegador solo tienes que añadir el siguiente código a tu plugin de personalizaciones o plugin MU:

//Abrir botón de compra de productos externos/afiliados en nueva ventana
remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
add_action( 'woocommerce_external_add_to_cart', 'rei_external_add_to_cart', 30 );
function rei_external_add_to_cart(){
    global $product;
    if ( ! $product->add_to_cart_url() ) {
        return;
    }
    $product_url = $product->add_to_cart_url();
    $button_text = $product->single_add_to_cart_text();
    do_action( 'woocommerce_before_add_to_cart_button' ); ?>
    <p class="cart">
        <a href="<?php echo esc_url( $product_url ); ?>" target="_blank" rel="nofollow" class="single_add_to_cart_button button alt"><?php echo esc_html( $button_text ); ?></a>
    </p>
    <?php do_action( 'woocommerce_after_add_to_cart_button' );
}

¿Y no hay algún plugin que haga lo mismo?

Pues sí, se llama WooCommerce Improved External Products. Simplemente lo instalas, lo activas y ya.

No busques ajustes, no los tiene.

(3 votos, promedio: 4.7) Valora este artículo para ayudar a mejorar la calidad del blog

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

Sobre el autor

4 comentarios en “WooCommerce: Cómo hacer que el botón de compra en productos externos/afiliados abra en nueva ventana”

  1. Intente hacer un plugin mu para eso, ya que el plugin WooCommerce Improved External Products no me funciono como queria, pero ahora me aparecen dos botones, uno como quiero y el predeterminado y eso solo en la ficha del producto, también quería hacerlo colocando el producto en cualquier parte de la web pero solo deja el botón predeterminado, hay alguna solucion?

    1. ismaelalcazar

      Según la id que tenga el botón le podrías agregar a tu CSS las siguientes lineas:
      #main .cart:nth-child(6) .single_add_to_cart_button{
      display:none;
      }

      Espero que te funcione

  2. Me funciona el plugin, es muy rápido tan fácil como instalar el plugin, probando me di cuenta que solo funciona cuando se está dentro del producto no modifica el comportamiento del botón el las listas o bloques de gutenberg. La siguiente opción es modificar todas las funciones que tengan los botones de enlaces externos, igual como indica Fernando. También se me ocurre modificar los archivos de woocommerce, pero no creo que sea funcional, ya que se reemplazan cuando se actualiza el plugin.

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

 

Ir arriba Ir al contenido