Поддержка Проблемы и решения Редактировать сообщения об ошибках. Woocommerce

  • Требуется отредактировать сообщения об ошибках когда жмем кнопку «подтвердить заказ» и есть не заполненные обязательные поля.

    Выдает ошибки:

    Фамилия для выставления счета является обязательным полем.

    А нужно просто

    Не заполнено обязательное поле — Фамилия

    Поискал в файлах перевода, нет там такого.
    Дальше у меня тупик, незнаю где искать.

    Буду очень признателен за помощь.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Если посредством изменения кода это сложная задача, может кто встречал плагин для этих целей?

    В гугле к сожалению не могу найти информацию на эту тему.

    Видимо вы единственный в мире человек, у которого появилась такая хотелка.

    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

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Тема «Редактировать сообщения об ошибках. Woocommerce» закрыта для новых ответов.