Tutoriales Código cambiar botón añadir carrito WooCommerce según categoría

Aprende paso a paso con nuestros tutoriales detallados y fáciles de seguir 🛠️. Desde WordPress y desarrollo web 🖥️ hasta estrategias de marketing digital 📊 y trucos de inteligencia artificial 🤖. ¡Domina nuevas habilidades y potencia tu conocimiento con nuestras guías expertas! 🚀

GarageWP

Explorador Activo

Registrado
11 Oct 2023
Mensajes
33
El siguiente código lo tengo implementado en mi web (la cual estoy actualizando)

Según la categoría del producto cambia el texto.

Mi web esta en hecha base a Astra y Spectra, donde los botones del producto directamente va al carrito. (Esta opción ya se puede definir en la versión pro del tema)

Al añadir nuevas categorías en los productos de Woocommerce, hay que añadir manualmente las mismas en el código.

Código:
<?php
// Función para cambiar el texto del botón "Añadir al carrito" basado en la categoría del producto
function custom_woocommerce_shop_add_to_cart_text( $text, $product ) {
    // Verificamos si el producto pertenece a la categoría "licencias"
    // Si el producto está en la categoría 'licencias', el texto del botón será "Comprar Licencia"
    if ( has_term( 'licencias', 'product_cat', $product->get_id() ) ) {
        return __( 'Comprar Licencia', 'woocommerce' ); // Puedes cambiar este texto por el que desees
    }
    // Verificamos si el producto pertenece a la categoría "cursos"
    // Si el producto está en la categoría 'cursos', el texto del botón será "Inscribirse ahora"
    elseif ( has_term( 'cursos', 'product_cat', $product->get_id() ) ) {
        return __( 'Inscribirse ahora', 'woocommerce' ); // Modifica este texto según lo que necesites
    }
    // Verificamos si el producto pertenece a la categoría "servicios"
    // Si el producto está en la categoría 'servicios', el texto del botón será "Contratar Servicio"
    elseif ( has_term( 'servicios', 'product_cat', $product->get_id() ) ) {
        return __( 'Contratar Servicio', 'woocommerce' ); // Ajusta el texto aquí también
    }

    // Texto por defecto si el producto no pertenece a ninguna de las categorías especificadas
    return $text; // Puedes cambiar el texto por defecto si lo necesitas
}

// Filtros para cambiar el texto del botón en diferentes páginas
// Este filtro cambia el texto en la tienda (listados de productos)
add_filter( 'woocommerce_product_add_to_cart_text', 'custom_woocommerce_shop_add_to_cart_text', 10, 2 ); 
// Este filtro cambia el texto en las páginas de productos individuales
add_filter( 'woocommerce_product_single_add_to_cart_text', 'custom_woocommerce_shop_add_to_cart_text', 10, 2 );

Comentarios clave:
Añadir categorías: Si necesitas agregar más categorías, simplemente copia una de las condiciones if o elseif y modifica el nombre de la categoría y el texto del botón.

Por ejemplo, si quisieras añadir una categoría "productos-digitales" con el texto "Descargar ahora", lo harías así:

elseif ( has_term( 'productos-digitales', 'product_cat', $product->get_id() ) ) {
return __( 'Descargar ahora', 'woocommerce' );
}

Texto por defecto
: Si el producto no pertenece a ninguna de las categorías que has definido, el texto por defecto seguirá siendo el original que WooCommerce aplica. Puedes modificarlo si quieres un texto genérico para todos los productos fuera de las categorías específicas.


Captura de pantalla (2).png

Captura de pantalla (3).png
 
Muy bueno!! Muchas gracias por este gran aporte a esto a mas de uno nos va a ayudar!! Un saludo!!
 
Volver
Arriba Abajo