Mensaje de error de edición de WooCommerce en la página de pago

2 minutos de lectura

avatar de usuario
Niladri Banerjee – Uttarpara

Veo que WooCommerce da un mensaje de error (Debe aceptar nuestros Términos y condiciones), si alguien no marcó la casilla de verificación “términos” (en la página de pago).

¿Cómo cambio/edito el mensaje de error?

Puedes hacer esto con el filtro woocommerce_add_error. Agregue lo siguiente a su archivo functions.php.

// alter the subscriptions error
function my_woocommerce_add_error( $error ) {
    if( 'The generic error message' == $error ) {
        $error="The shiny brand new error message";
    }
    return $error;
}
add_filter( 'woocommerce_add_error', 'my_woocommerce_add_error' );

  • Esto funcionó para mí. Tenga en cuenta que debe usar el nombre html para el carácter ‘&’. function my_woocommerce_add_error( $error ) { if( 'You must accept our Terms & Conditions.' == $error ) { $error = 'My new message.'; } return $error; }

    – Háblame de forma noña

    13 de agosto de 2014 a las 5:48


He intentado esto hoy y desafortunadamente esto no funciona.

Este es el código de: woocommerce > clases > class-wc-checkout.php

// Terms
if ( ! isset( $_POST['woocommerce_checkout_update_totals'] ) && empty( $this->posted['terms'] ) && woocommerce_get_page_id( 'terms' ) > 0 )
$woocommerce->add_error( __( 'You must accept our Terms & Conditions.', 'woocommerce' ) );

Sería genial ver una forma de editar que debe aceptar nuestros Términos y condiciones. El mensaje original muestra: Debes aceptar nuestros Términos y Condiciones
Me gustaría que dijera: por favor confirma tu edad

Siempre puedo hackear el núcleo, pero prefiero ver si hay alguna forma que hayas publicado.

Tendría que encontrar la clave establecida por woocommerce para el error en particular y luego editarla de esta manera, en el ejemplo a continuación, estoy editando el texto predeterminado que se muestra cuando no hay métodos de envío disponibles y el cliente intenta pagar:

function prefix_edit_error_message( $fields, $errors ) {
   $errors->remove( 'shipping' ); // remove default error message
   $errors->add( 'shipping', 'My custom text' ); // add our custom error message
}
add_action('woocommerce_after_checkout_validation', 'prefix_edit_error_message', 10, 2);

Puede generar el contenido de errors para ver qué error tendría que eliminar y luego volver a agregar para obtener el efecto deseado. En su caso necesitaría reemplazar shipping con terms.

Al momento de escribir esta respuesta, el gancho se encuentra aquí: https://github.com/woocommerce/woocommerce/blob/6.4.1/plugins/woocommerce/includes/class-wc-checkout.php#L889

Lo más probable es que se llame de la misma manera en futuras versiones de WooCommerce, aunque la ubicación del archivo podría cambiar.

Siempre puede editar los archivos de traducción. En este caso, tendría que abrir el archivo .pot en un editor de PO y crear un nuevo archivo de traducción en_US con las cadenas alteradas:

wp-content/plugins/woocommerce/i18n/languages/woocommerce.pot

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad