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.
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.


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.

