Cambiar el texto del título de los totales del carrito en la página del carrito en Woocommerce

2 minutos de lectura

avatar de usuario
Donny cavó

Estoy buscando cambiar el texto “Totales del carrito” en el div de totales del carrito en WooCommerce o eliminarlo por completo con una acción.

He agregado un texto diferente sobre el cuadro al usar

add_action( 'woocommerce_before_cart_totals', 'custom_before_cart_totals' );
function custom_before_cart_totals() {
        echo '<h2>Checkout</h2>';                                                
}

Pero no puedo encontrar una manera de eliminar la redacción predeterminada “Totales del carrito” que no sea editar una plantilla de WooCommerce u objetivo y ocultar con css, pero me encantaría algo que pueda colocar en el archivo de funciones para cambiar el texto anterior o eliminarlo por completo .

Cualquier consejo sería apreciado.

Ejemplo de totales predeterminados del carrito

  • Hola, Donny Dug, WooCommerce no proporcionó ningún gancho para cambiar el texto de los totales del carrito. O puedes ocultar este texto a través de css. o necesita cambiar el texto en el archivo de plantilla de la página del carrito de WooCommerce.

    – Yogesh Garg

    25 de agosto de 2018 a las 4:26

  • Sí, ese es el problema, ¡sin embargo, la respuesta de Loics funcionó perfectamente!

    – Donny cavado

    27 de agosto de 2018 a las 0:23

avatar de usuario
LoicTheAztec

Es posible usando el gancho de filtro de WordPress gettext.

1) Eliminar “Totales del carrito”:

add_filter( 'gettext', 'change_cart_totals_text', 20, 3 );
function change_cart_totals_text( $translated, $text, $domain ) {
    if( is_cart() && $translated == 'Cart totals' ){
        $translated = '';
    }
    return $translated;
}

2) Reemplazar (o cambio) “Totales del carrito”:

add_filter( 'gettext', 'change_cart_totals_text', 20, 3 );
function change_cart_totals_text( $translated, $text, $domain ) {
    if( is_cart() && $translated == 'Cart totals' ){
        $translated = __('Your custom text', 'woocommerce');
    }
    return $translated;
}

El código va en el archivo function.php de su tema secundario activo (o tema activo). Probado y funciona.

O puede eliminarlo de la plantilla de Woocommerce cart/cart_totals.php

  • Leyenda, esto es exactamente lo que estábamos buscando, funciona perfectamente. ¡Gracias!

    – Donny cavado

    27 de agosto de 2018 a las 0:24

  • ¿Hay alguna forma de eliminar el <h2></h2>¿también?

    – Cray

    22 de noviembre de 2019 a las 8:34

avatar de usuario
Sello Soumyajeet

function change_cart_totals($translated){
  $translated = str_ireplace('Cart Totals', 'Cart Total', $translated);
  return $translated;
}
add_filter('gettext', 'change_cart_totals' );

  • Las respuestas de solo código generalmente están mal vistas en este sitio. ¿Podría editar su respuesta para incluir algunos comentarios o explicaciones de su código? Las explicaciones deben responder a preguntas como: ¿Qué hace? ¿Cómo lo hace? ¿A dónde va? ¿Cómo resuelve el problema de OP? Ver: Cómo responder. ¡Gracias!

    – Eduardo Baitello

    21 de noviembre de 2019 a las 14:07

Duplicar el cart-totals.php tema de woocommerce en su propio tema, y ​​reemplace esta línea:

<h2><?php esc_html_e( 'Cart totals', 'woocommerce' ); ?></h2>

¿Ha sido útil esta solución?