Если посредством изменения кода это сложная задача, может кто встречал плагин для этих целей?
В гугле к сожалению не могу найти информацию на эту тему.
Видимо вы единственный в мире человек, у которого появилась такая хотелка.
tuxfighter (@tuxfighter)
Видимо вы единственный в мире человек, у которого появилась такая хотелка.
Это всего лишь желание должным образом оформить сайт и сделать дружественное юзабилити.
Это сделать сложно, или просто мне лучше искать ответ?
Это значит что ни кто не знает ответа на ваш вопрос и вам прийдется разбираться в вопросе полностью самостоятельно
Разобрались как изменить?
Редактировать сообщения об ошибках. Woocommerce
Можно хуками, но есть варианты решений, поэтому зависит от задачи. Валидацию “terms and conditions” я вообще убираю.
задача описана в теме
Выдает ошибки:
Фамилия для выставления счета является обязательным полем.
А нужно просто
Не заполнено обязательное поле — Фамилия
Я отредактировал файлы переводов.
вместо:
%s для выставления счета
поставил:
%s
Файлы переводов лежат в папке:
/wp-content/languages/plugins/woocommerce-ru_RU.po
/wp-content/languages/plugins/woocommerce-ru_RU.mo
после редактирования поставил права на файлы 444, чтоб не переписались с обновлением.
-
Ответ изменён 3 года, 5 месяцев назад пользователем Vadim. Причина: добавил уточнение
-
Ответ изменён 3 года, 5 месяцев назад пользователем Vadim. Причина: орфография
Я отредактировал файлы переводов.
Вы это будете делать после каждого обновления плагина?
Я отредактировал файлы переводов.
вместо:
%s для выставления счета
поставил:
%s
Правильней все же вешать переопределение на хуки и помещать в сниппет или функции дочерней темы.
Хук, который вам должен подойти — woocommerce_checkout_process
Переопределение примерно такое:
$billing = __('Не заполнено обязательное поле - ', 'woocommerce') . ' ';
$last_name = __('Фамилия', 'woocommerce');
if( empty($_POST['billing_last_name']) )
wc_add_notice( $billing . $last_name, 'error' );
}
Переделал вывод инфо об ошибке
function.php
function my_woocommerce_add_error( $error ) {
if (strpos($error,'required') !== false) {
$error = 'Required';
}
return $error;
}
add_filter( 'woocommerce_add_error', 'my_woocommerce_add_error' );
theme/woocommerce/notices/error.php
if ( ! $notices ) {
return;
}
?>
<ul class="woocommerce-error">
<?php
$totalReq = count(array_keys($messages, 'Required'));
$removeReq = array_diff($messages, ["Required"]);
if($totalReq > 1){
echo '<li>Пожалуйста, заполните <strong>обязательные</strong> поля.</li>';
}else{
echo '<li>Пожалуйста, заполните <strong>обязательные</strong> поля.</li>';
}
?>
</ul>
Результат
https://prnt.sc/vdd3sw