• Sarispi

    (@sarispi)


    Hola a tod@s!!

    Estoy haciendo una página web para una ONG. En la página se van a gestionar donaciones, que se hacen a través de woocommerce. Por eso, necesito cambiar todas las cadenas de texto que digan «pedido» por «donaciones». Conseguí hacerlo con la mayoría, pero en los correos de confirmación del pedido que le llegan a la persona, no soy capaz de modificarlo.

    Podéis ver a qué me refiero aquí: https://ibb.co/frQTqLS

    Probé con PHP con una función de switch case, que me funcionó estupendamente para otras cadenas de los correos, pero no consigo cambiar esa… también probé con el plugin loco translate, pero nada…

    function my_text_strings( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
    
    
    case 'Detalles del pedido' :
    $translated_text = __( 'Detalles de la donación', 'woocommerce' );
    break;
    
    case 'Producto' :
    $translated_text = __( 'Donación', 'woocommerce' );
    break;
    
    }
    return $translated_text;
    }
    add_filter( 'gettext', 'my_text_strings', 20, 3 );

    ¿Alguna idea de cómo lo puedo modificar?

    Gracias!!

    • Este debate fue modificado hace 11 meses por Sarispi.
Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Buenas, antes de nada, acuérdate de tener copias, hasta de tocar los códigos

    Para modificar el texto «Número de pedido:» en los correos de WooCommerce, necesitas agregar una nueva entrada en tu función my_text_strings para manejar esa cadena específica. Aquí te muestro cómo hacerlo:

    function my_text_strings( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
    case ‘Detalles del pedido’ :
    $translated_text = ( ‘Detalles de la donación’, ‘woocommerce’ ); break; case ‘Producto’ : $translated_text = ( ‘Donación’, ‘woocommerce’ );
    break;
    case ‘Número de pedido:’ : // Agregar el caso para ‘Número de pedido:’
    $translated_text = __( ‘Número de donación:’, ‘woocommerce’ ); // Cambia a lo que desees
    break;
    }
    return $translated_text;
    }
    add_filter( ‘gettext’, ‘my_text_strings’, 20, 3 );

    Agregué un nuevo caso para ‘Número de pedido:’ y cambié su traducción a ‘Número de donación:’, pero puedes modificarlo según tus preferencias.

    Asegúrate de que esta función esté correctamente implementada en tu archivo functions.php o en un plugin personalizado. Luego, los correos de confirmación de pedido deberían mostrar «Número de donación:» en lugar de «Número de pedido:».

    A ver si tienes suerte y te funciona..

    Buen finde

    Iniciador del debate Sarispi

    (@sarispi)

    Hola!! Gracias por responder.

    Eso ya lo había probado, pero no funciona, no me modifica esa cadena.

    Alguna idea??

    Graicas

    Lamento la confusión. Si la modificación no funciona con el enfoque anterior, es posible que la cadena «Número de pedido:» esté siendo traducida de manera diferente o que WooCommerce la esté manejando de manera especial.

    Podemos intentar un enfoque diferente utilizando un filtro específico proporcionado por WooCommerce para modificar textos en los correos. Vamos a intentarlo usando el filtro woocommerce_email_order_meta_keys:

    function custom_woocommerce_email_order_meta_keys( $keys ) {
    $keys[] = ‘Número de pedido:’;
    return $keys;
    }
    add_filter( ‘woocommerce_email_order_meta_keys’, ‘custom_woocommerce_email_order_meta_keys’ );

    Este código agrega «Número de pedido:» a la lista de claves que WooCommerce busca en los correos. Asegúrate de colocar este código en tu archivo functions.php del tema o en tu plugin personalizado.

    Si esto aún no funciona, puede que haya un conflicto con algún otro código o plugin en tu sitio que esté interfiriendo con la modificación de esta cadena. En ese caso, es posible que necesites investigar más a fondo para identificar la causa del problema.

    Iniciador del debate Sarispi

    (@sarispi)

    Hola de nuevo!!

    Sigue sin funcionarme 🙁
    Estoy utilizando el plugin kadence WooCommerce Email Designer, para el diseño de los correos, a lo mejor el problema viene por ahí.

    Voy a consultarles a ellos a ver si me pueden echar un cable.

    Muchas gracias por todo!!

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • El debate ‘Modificar el texto «Número de pedido:» en los correos de Woocommerce’ está cerrado a nuevas respuestas.