Woocommerce — Удалить слово «Выставление счетов» из сообщения об ошибке

#php #wordpress #woocommerce

#php #wordpress #woocommerce woocommerce

Вопрос:

При использовании Woocommerce 2.6.4 в ошибке проверки обязательные имена полей автоматически получают ‘Billing’ в качестве префикса в сообщении об ошибке-msg, даже если текст метки установлен.

 Ex. "Billing First Name is required"
 

Ошибка возникает отсюда:

 <ul class="woocommerce-error">
   <?php foreach ( $messages as $message ) : ?>
        <li><?php echo wp_kses_post( $message ); ?></li>
   <?php endforeach; ?>
</ul>
 

В functions.php , имя метки устанавливается в соответствии с этим:

 add_filter( 'woocommerce_checkout_fields' , 'custom_wc_checkout_fields' );

function custom_wc_checkout_fields( $fields ) {

    // Remove Label text
    $fields['billing']['billing_first_name']['label'] = 'First Name';


    return $fields;
}
 

Как я могу удалить «Выставление счетов» в качестве префикса в сообщении об ошибке?

Комментарии:

1. add_action(‘woocommerce_checkout_process’, ‘my_custom_checkout_field_process’); функция my_custom_checkout_field_process() { // Проверьте, установлен ли он, если он не установлен, добавьте ошибку. если (! $ _POST[‘billing_first_name’] ) wc_add_notice( __(‘Требуется имя пользователя’ ), ‘ошибка’); }

2. Красиво! Это позволило мне добавить еще одно сообщение об ошибке для определенного поля. Как мне скрыть исходную ошибку-сообщение об ошибке?

Ответ №1:

Используйте woocommerce_add_{$notice_type} фильтр.

Например.

 function customize_wc_errors( $error ) {
    if ( strpos( $error, 'Billing ' ) !== false ) {
        $error = str_replace("Billing ", "", $error);
    }
    return $error;
}
add_filter( 'woocommerce_add_error', 'customize_wc_errors' );
 

Комментарии:

1. Есть еще какое-нибудь пострадавшее место на планете? как переопределить включаемый файл woocommerce