Изменить текст ошибки оформления заказа WooCommerce на странице оформления заказа - PullRequest
3 голосов
/ 02 июля 2019

Я хочу добавить свой собственный текст ошибки оплаты (мы используем средства счета и хотим добавить дополнительное приглашение)

Как я могу изменить следующее, которое показывает, когда средств недостаточно:

Извините, похоже, что в вашем штате нет доступных способов оплаты.Пожалуйста, свяжитесь с нами, если вам требуется помощь или вы хотите принять альтернативные меры.

на сообщение об ошибке со ссылкой, как показано ниже:

У вас недостаточно средств для обработкиэтот заказ, пожалуйста <a href="/my-account">top up</a> или обновите.Спасибо.

Похоже, что текст хранится в шаблонах / checkout / payment.php

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

Как я могу изменить это безэто стирается обновлением версии Woocommerce?

Ответы [ 3 ]

3 голосов
/ 09 июля 2019

В WordPress фильтры - это функции, которые можно подключить к событию (так называемые перехватчики).Во время выполнения, когда событие инициируется, фильтр применяется к выводу данных, генерируемому ловушкой события.Важно помнить, что фильтры выполняют свои действия с данными, которые они получают, а затем возвращают эти данные до того, как они отобразятся в браузере.

В прикрепленном вами файле (payment.php) у вас есть

apply_filters( 'woocommerce_no_available_payment_methods_message' ....

Таким образом, вы можете использовать фильтр "woocommerce_no_available_payment_methods_message" для изменения текста

Создать пользовательскую функциюи добавьте его в файл функций или небольшой плагин.

Сначала мы подключаем нашу собственную функцию к событию woocommerce

add_filter( 'woocommerce_no_available_payment_methods_message', 'your_custom_function_name_here' );

Теперь мы определяем, что будет делать наша функция.

function your_custom_function_name_here( $content ) {
    //your changes here
    $content = "bla bla";
    // Returns the content.
    return $content;
}
0 голосов
/ 10 июля 2019

Вам просто нужно добавить фильтр и применить свое изменение в файле functions.php вашей дочерней темы:

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.';
});

Дайте мне знать, если это сработало.

0 голосов
/ 03 июля 2019
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="/my-account">top up</a> or upgrade. Thank you':'Please fill in your details above to see available payment methods.';
    return $message;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...