Cambiar el texto de error de pago de WooCommerce en la página de pago

3 minutos de lectura

avatar de usuario
gracia

Quiero agregar mi propio texto de error de pago personalizado (usamos Fondos de cuenta y queremos agregar un aviso adicional)

¿Cómo puedo cambiar, lo siguiente que muestra cuando no hay fondos suficientes, de:

Lo sentimos, parece que no hay métodos de pago disponibles para su estado. Comuníquese con nosotros si necesita ayuda o desea hacer arreglos alternativos.

a un mensaje de error con un enlace como el siguiente:

No tiene fondos suficientes para procesar este pedido, por favor <a
href="https://stackoverflow.com/my-account">top up</a>
o actualizar. Gracias.

El texto parece estar almacenado en templates/checkout/payment.php

https://github.com/woocommerce/woocommerce/blob/ef05bfccfc01bb2c621ef1293e61f7c57950670f/templates/checkout/pago.php

¿Cómo puedo cambiar esto sin que se elimine con una actualización de la versión de Woocommerce?

En WordPress, los filtros son funciones que se pueden enganchar a un evento (llamados ganchos). Durante la ejecución, cuando se activa el evento, el filtro se aplica a la salida de datos generada por el enlace del evento. Es importante recordar que los filtros realizan sus acciones en los datos que reciben y luego devuelven esos datos antes de que se muestren en el navegador.

En el archivo que adjuntaste (pago.php) tienes

apply_filters( 'woocommerce_no_available_payment_methods_message' ....

Entonces puede usar el filtro “woocommerce_no_disponible_pago_métodos_mensaje” para cambiar el texto

Cree una función personalizada y agréguela al archivo de funciones o a un pequeño complemento.

Primero conectamos nuestra propia función con el evento de woocommerce

add_filter( 'woocommerce_no_available_payment_methods_message', 'your_custom_function_name_here' );

Ahora definimos lo que haría nuestra función.

function your_custom_function_name_here( $content ) {
    //your changes here
    $content = "bla bla";
    // Returns the content.
    return $content;
}

  • Hola Mo, gracias por eso. Hay una recompensa en esta pregunta. Publique una solución de código probada completa para obtener eso. Gracias Gracie

    – Gracia

    9 de julio de 2019 a las 11:47

Solo tiene que agregar un filtro y aplicar su cambio en el archivo functions.php de su tema secundario:

add_filter( 'woocommerce_no_available_payment_methods_message', function( $no_gateways_message ) {
    return 'You do not have sufficent funds to process this order, please <a href="' . home_url( '/my-account/' ) . '">top up</a> or upgrade. Thank you.';
});

Déjame saber si eso funcionó.

avatar de usuario
maulik patel

add_filter( 'woocommerce_no_available_payment_methods_message', 'change_payment_message', 10, 2);
function change_payment_message( $value, $arg2 ) {
    $message = WC()->customer->get_billing_country()?'You do not have sufficent funds to process this order, please<a
  href="https://stackoverflow.com/my-account">top up</a> or upgrade. Thank you':'Please fill in your details above to see available payment methods.';
    return $message;
}

  • administrador de archivos cPanel dice Syntax Error Unexpected T_FUNCTION

    – sigur7

    5 de julio de 2019 a las 16:17

  • Este código rompe la página de pago, lo que resulta en "The site is experiencing technical difficulties." mensaje

    – Gracia

    9 de julio de 2019 a las 10:12

¿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