Oferta SiteGround Black Friday

Cómo cambiar el texto «Añadir al carrito» en WooCommerce (actualizado)

Son muchas las cosas que puedes personalizar en una tienda online con WooCommerce, y  un básico es cambiar el texto del botón «Añadir al carrito» según necesidad.

Además es muy fácil, solo tienes que elegir el código adecuado a tus necesidades de los que tienes a continuación, añadirlo a tu plugin de utilidades o al archivo functions.php y modificar el texto de ejemplo en el código por el que tu prefieras.

Cambiar el botón «Añadir al carrito» en la página de producto

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' );    // 2.1 +
 
function woo_custom_cart_button_text() {
 
        return __( 'Mi texto para el botón', 'woocommerce' );
 
}

Cambiar el botón «Añadir al carrito» en el archivo de productos

add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' );    // 2.1 +
 
function woo_archive_custom_cart_button_text() {
 
        return __( 'Mi texto para el botón', 'woocommerce' );
 
}

Cambiar el botón «Añadir al carrito» por tipo de producto en el archivo de productos

add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_woocommerce_product_add_to_cart_text' );
/**
 * custom_woocommerce_template_loop_add_to_cart
*/
function custom_woocommerce_product_add_to_cart_text() {
	global $product;
	
	$product_type = $product->product_type;
	
	switch ( $product_type ) {
		case 'external':
			return __( 'Comprar productos', 'woocommerce' );
		break;
		case 'grouped':
			return __( 'Ver productos', 'woocommerce' );
		break;
		case 'simple':
			return __( 'Añadir al carrito', 'woocommerce' );
		break;
		case 'variable':
			return __( 'Selección de opciones', 'woocommerce' );
		break;
		default:
			return __( 'Leer más', 'woocommerce' );
	}
	
}

Cambiar el botón «Añadir al carrito» por categoría

En este caso tenemos que personalizar a nuestro gusto un código como el siguiente:

add_filter( 'woocommerce_product_add_to_cart_text', 'ayudawp_texto_carrito_por_categoria' );
  
function ayudawp_texto_carrito_por_categoria() {
global $product;
 
$terms = get_the_terms( $product->ID, 'product_cat' );
 foreach ($terms as $term) {
            $product_cat = $term->name;
            break;
}
 
switch($product_cat)
{
    case 'categoria1'; //Nombre de una categoría
        return 'Texto del botón para la categoría 1'; break;
    case 'categoria2';
        return 'Texto del botón para la categoría 1'; break;
    default;
        return 'Texto del botón por defecto para el resto de categorías'; break;
}
}

Cambiar el texto «Añadir al carrito» con plugin

Nos recuerda Enrique J. Ros, con razón, que hay un plugin, además creado por él mismo, que permite también personalizar el texto, así que si prefieres tirar de plugin échale un vistazo a «Add to cart button custom text«.

Otro día veremos más personalizaciones para WooCommerce. Si tienes tu propia lista de favoritas nos lo cuentas en los comentarios.

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

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 4.8 / 5. Total de votos: 20

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

29 comentarios en “Cómo cambiar el texto «Añadir al carrito» en WooCommerce (actualizado)”

  1. Estimado, gracias por el artículo, aunque yo utilizo el plugin WC Poor Guys Swiss Knife en un sitio bilingüe con WPML no logro encontrar esta cadena para hacer la traducción, será que con este método se puede?

  2. Enrique J. Ros

    Concreto y efectivo como siempre, Fernando 🙂
    Sólo añadir que el texto del botón se puede personalizar por tipo de producto no sólo en la página de archivo, sino también la ficha de producto, algo que generalmente se olvida en los tutoriales que se encuentran por la red.
    Para los que tienen aversión al código pueden utilizar el plugin gratuito «Add to cart button custom text» https://es.wordpress.org/plugins/add-to-cart-button-custom-text/ (yo mismo soy el autor). Con él puedes personalizar el texto del botón tanto en la página de archivo como en la ficha de producto, incluyendo el texto para los productos reservables que añade el plugin WooCommerce Bookings, de WooThemes.
    Un saludo, y gracias.

  3. Camilo Camargo

    Hola, Muy buenos tus aportes. Tengo una duda, cuando agrego esa función a mi archivo funtions.php debo llamar la función desde mis páginas? De ante mano, Gracias mil.

  4. Alejandra Michel

    Yo tengo una pregunta, ¿como puedo añadir el botón a mi página de la tienda? porque estoy haciéndola sin ningún theme, solo con Divi, y al activar el woocommerce la parte de tienda no tiene el botón, solo lo ves hasta que entras en la ficha del producto.
    ¿Me puedes ayudar con esto?

    1. Divi es un tema, y no añade botón, solo al pulsar en la foto se accede al producto, supongo que te refieres a eso. Pero siempre puedes añadir un botón si te gusta debajo de cada producto

  5. Luis Fabian Nazar

    Buen día mi estimado,
    Quisiera que me ayude a cambiar el texto ‘seguir comprando’ por ‘ver más productos’
    un favor

  6. Jaime Zubiaur

    Muchas gracias por el post. Es muy útil.
    Un a pregunta, ¿Es compatible con WPML? ¿Habría alguna forma de asignar textos en función del idioma?

    Muchas gracias.

  7. Hola buenos dias, se que el articulo es de hace un tiempo, pero tengo una duda, yo puedo cambiar el texto del boton solo a una categoria de productos? o a algunos productos en particular?

        1. Hola buenas acabo de probar el codigo y no me quiere funcionar, la categoria que se colocar entre comillas simples es elslug de la catgoria cierto? porque de resto nose queotra cosa no podria estar funcionand?? y otra cosita el codigo no se puede copiar como tal la web no me deja seleccionar ni copiar en este articulo como tal, saludos y gracias

        2. Me podría decir el codigo para cambiar añadir al carrito, por pre visualizar las imagenes de variantes de un producto, en la pagina de catalogo. Gracias

  8. Hola como estas? muy interesante tu ayuda! Una pregunta, que codigo puedo usar para que me aparezca el boton de «agregar al carrito» en la plantilla DIVI?

    1. Hace mucho de esto, pero quizás a nuevos visitantes les ayude. Con el plugin WooCustomizer puedes cambiar texto de todo; de botones, añadir botón nuevo, mensajes extras por todos lados del producto, stock disponible, poner texto delante del precio o al final (útil para poner incluye iva), cambiar cosas de la pagina de carrito, finalizar compra, etc… Puedes modificar y añadir un montón de cosas 🙂

  9. Hola, hermoso articulo, consulto.
    Estoy armando un marketplace, los vendedores pueden elegir si sus productos permiten reserva o no cuando el stock es igual a cero. Como puedo hacer que el nombre del boton cambie en funcion de eso:
    1) Si hay stock que el botón Agregar al carrito y el boton comprar aparezcan normalmente
    2) Si no hay stock pero los vendedores permiten que ese producto sea reservable, que el nombre del boton comprar cambie a reservar
    3) Si no hay stock y los vendedores NO aceptan reservas para sus productos que los botones queden desabilitados ( o el nombre cambie a sin stock para simplificar el codigo ya que de todos modos el sistema no les permite agregarlo al carrito o comprarlo)

  10. Hola! Me funcionó perfecto el cambio de nombre, pero ¿como hago para añadir un icono al mismo botón?

    tengo este fragmento html de fontawesome, pero no se donde colocarlo

    gracias de antemano!

  11. Hola Fernando y demás lectores.
    Por ahí en alguna web de nuestro recóndito universo (realmente no recuerdo el nombre) encontré una función que se apoya de un filter hook gettext, me parece muy sencillo de usar, se debe agregar en functions.php de la siguiente manera

    add_filter(‘gettext’, ‘change_traduction_text’, 10, 3);

    function change_traduction_text($translated, $original, $domain)
    {
    switch ($translated) {
    case ‘Añadir al carrito’:
    $translated = ‘Matricularme’;
    break;
    case ‘No hay productos en el carrito.’:
    $translated = ‘Aún no has agregado ninguna materia/curso.’;
    break;
    }
    return $translated;
    }

    NOTAS:
    – change_traduction_text puede ser cualquier nombre que le quieras dar a tu función.
    – gettext es inalterable ya que es el nombre del filter hook que se usa y ya esta definido.
    – usando switch ($original) { en vez de switch ($translated) { se puede comprarar con la frase en el idioma original si es que la web o plugin que estemos usando ha sido traducido dinámicamente con la función doble underscore __().
    – sirve para sobreescribir textos que estén traducidos o no.
    – supongo que no sirve en páginas multiidioma a no ser que se considere todas las opciones de idioma que permite la página en la que se aplique usando otro switch anidado evaluando $domain.

    Espero que les sea útil.

  12. Buenas tardes, estoy tratando de usar el código para cambiar el botón del texto de añadir al carrito solamente en una categoría concreta pero no funciona.

    He cambiado los apostrofes ( ‘ ) por comillas ( » ) y ahora sí que cambia el texto del botón, pero solo lo que pongo en ( default; ) es decir, lo cambia en toda la web, incluido en las categorías que se supone que tiene que ser diferente.

    ¿Sabéis decirme qué puede estar fallando?

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