Я продолжил исследовать эту проблему и обнаружил, что это оповещение пришло от / woocommerce / assets / js / frontend / add-to-cart-variation. js
I нашел эту функцию
VariationForm.prototype.onAddToCart = function( event ) {
if ( $( this ).is('.disabled') ) {
event.preventDefault();
if ( $( this ).is('.wc-variation-is-unavailable') ) {
window.alert( wc_add_to_cart_variation_params.i18n_unavailable_text );
} else if ( $( this ).is('.wc-variation-selection-needed') ) {
window.alert( wc_add_to_cart_variation_params.i18n_make_a_selection_text );
}
}
};
Вторым является текущее оповещение. Поэтому я решил не переписывать этот прототип, а использовать более простое решение. У меня уже была пользовательская форма в мета-позиции одного продукта.
<script type="text/javascript">
jQuery( function($){
$( '<span id="show_error">Please, fill all options!</span>' ).insertBefore( ".single_variation_wrap" );
$('#show_error').hide();
...........
$('.single_add_to_cart_button').on('click',function(e){
if ( $( this ).is('.disabled') ) {
e.preventDefault();
if ( $( this ).is('.wc-variation-selection-needed') ) {
$('#show_error').show();
setTimeout(function () {
$('#show_error').hide();
}, 3000);
return false;
}
}
});
});
</script>
Поэтому я добавил пользовательский блок диапазона для сообщения об ошибке, и теперь, если я забуду заполнить все параметры в форме, появится сообщение об ошибке. на три секунды. Это не лучшее решение, но оно работает очень хорошо!