WooCommerce магазин.
Настройка «Клиент может зарегистрироваться во время оформления заказа» включена, поэтому клиент должен указать свое имя, телефон и адрес электронной почты во время оформления заказа (на странице /checkout/).
Я хочу проверить эти данные на наличие ошибок перед регистрацией. Итак, я пытаюсь получить эти данные из переменной $_REQUEST или из массива $fields из фильтра «woocommerce_after_checkout_validation», но не могу этого сделать.
Вот как я пытаюсь:
add_action( 'woocommerce_before_checkout_registration_form', 'check_request', 1 );
function check_request () {
echo '<pre>'; print_r($_REQUEST); echo '</pre>';
}
/* OUTPUT:
Array
(
[woocommerce-login-nonce] =>
[_wpnonce] =>
[woocommerce-reset-password-nonce] =>
[woocommerce-edit-address-nonce] =>
[save-account-details-nonce] =>
)
*/
И это:
add_filter( 'woocommerce_after_checkout_validation', 'custom_after_checkout_validation', 10, 2);
function custom_after_checkout_validation ($fields, $errors){
if ( empty( $fields['billing_phone'] ) ) {
$errors->add( 'phone validation', 'Phone is empty' );
}
}
/* OUTPUT:
Phone is empty
*/
Помогите пожалуйста мне.