Я пытаюсь отобразить извещения об оформлении заказа во встроенной строке Woocommerce, то есть ниже или выше соответствующих полей.Я пробовал этот код:
/**
* @snippet Add Inline Field Error Notifications @ WooCommerce Checkout
* @how-to Watch tutorial @ https://businessbloomer.com/?p=19055
* @sourcecode https://businessbloomer.com/?p=86570
* @author Rodolfo Melogli
* @compatible WooCommerce 3.5.1
*/
add_filter( 'woocommerce_form_field', 'bbloomer_checkout_fields_in_label_error', 10, 4 );
function bbloomer_checkout_fields_in_label_error( $field, $key, $args, $value ) {
if ( strpos( $field, '</label>' ) !== false && $args['required'] ) {
$error = '<span class="error" style="display:none">';
$error .= sprintf( __( '%s is a required field.', 'woocommerce' ), $args['label'] );
$error .= '</span>';
$field = substr_replace( $field, $error, strpos( $field, '</label>' ), 0);
}
return $field;
}
и CSS, который поставляется с ним:
.woocommerce-checkout p.woocommerce-invalid-required-field span.error {
color: #e2401c;
display: block !important;
font-weight: bold;
}
, но он не работает, так как в моем месте нет поля с именем woocommerce-invalid-required-field
исходный код страницы.Расположение сообщений об ошибках находится в совершенно другом месте по адресу .woocommerce-notices-wrapper .woocommerce-NoticeGroup-checkout ul
.
Есть идеи?