#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