Cambiar el texto del botón «Añadir al carrito»

Cambiar el texto del botón "Añadir al carrito"

Es posible que tu tienda Woocommerce venda servicios, productos o cualquier otra variación, y que el clásico mensaje «Añadir al carrito» no sea el adecuado.

Si lo único que quieres es cambiar ese mensaje en todos los botones de la tienda, es sencillo, símplemente añade el fragmento de código siguiente para Cambiar el botón «Añadir al carrito» por otro.

				
					add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' );    // 2.1 +
function woo_custom_cart_button_text() {
        return __( 'Pagar', 'woocommerce' );
}
				
			

Si no sabes como insertar este código en tu web, puedes usar el pluguin Code Snippets y no tener que tocar el archivo functions de tu web.

¿No sabes como funciona? te lo explico aquí.

No olvides limpiar la caché de tu web si no ves que se aplican los cambios.

Buenas prácticas al usar Code Snippets

Para evitar problemas, ten en cuenta:

  • Nombra bien cada snippet
  • Añade una descripción clara
  • No actives snippets sin probar
  • Evita duplicar funciones
  • Haz copias de seguridad antes de cambios importantes

Un paso más para cambiar el botón "Añadir al carrito"

Ahora vamos a ver otro caso un poco mas complejo donde el snippet anterior se nos puede quedar corto, una tienda online donde quieres que los botones de cierta categoría, o los productos variables, o simplemente un producto concreto tenga un botón distinto.

Te pongo el ejemplo que me ha hecho crear esta entrada de blog: vendo un servicio en el que se dan 15 días de prueba gratuita, y quiero que el botón de compra indique una llamada a la acción como «Prueba 15 días Gratis» pero sólo en ese producto.

Para ello vamos a usar el snippet siguiente, en el que sólo se filtra por la condición de la IP del producto (en mi caso el producto 12377), y en el resto de productos quiero que ponga «Pagar».

				
					add_filter('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text', 10, 2);

function woo_custom_cart_button_text($text, $product) {

    if (!$product || !is_a($product, 'WC_Product')) {
        return $text;
    }

    $product_id = $product->get_id();

    // Por ID de producto
    if ($product_id == 12377) {
        return 'Prueba 15 días gratis';
    }


    // Texto por defecto (tu "Pagar")
    return 'Pagar';
}
				
			

Adáptalo a lo que tu necesites

Puede que tu quieras que el texto de los botones sea otro en función de la categoría, del slug o de otra condición, aquí te dejo la solución para que lo hagas a tu gusto:

				
					add_filter('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text', 10, 2);

function woo_custom_cart_button_text($text, $product) {

    if (!$product || !is_a($product, 'WC_Product')) {
        return $text;
    }

    $product_id = $product->get_id();

    // Por ID de producto
    if ($product_id == 123) {
        return 'Reservar ahora';
    }

    if ($product_id == 456) {
        return 'Solicitar presupuesto';
    }

    // Por slug
    if ($product->get_slug() === 'pagina-web') {
        return 'Contratar ahora';
    }

    // Por categoría
    if (has_term('servicios', 'product_cat', $product_id)) {
        return 'Empezar proyecto';
    }

    // Producto variable
    if ($product->is_type('variable')) {
        return 'Elegir opciones';
    }

    // Texto por defecto (tu "Pagar")
    return 'Pagar';
}
				
			

¿Aún no tienes elementor Pro?

Comparte en tus Redes Sociales

Facebook
Twitter
LinkedIn
Pinterest
WhatsApp

Suscríbete a nuestra Newsletter y consigue un descuento en tu primera compra

Sólo por registrarte, te regalamos un cupón para que consigas elementor Pro aún mas barato.

Suscríbete a nuestra Newsletter para estar informado de todas las novedades y descuentos