добавить проверку для нового настраиваемого поля в логине woocommerce - PullRequest
0 голосов
/ 22 июня 2019

У меня есть WordPress, работающий с WooCommerce.
Я добавил поле телефона в форму входа в систему, но я хочу добавить проверку, если номер существует или неправильный, и для этого я добавляю функцию woocom_validate_extra_login_fields. Но это не работает.

Примечание: тот же процесс работал для регистрационной формы

// add validation for the custum field "phone" to login form

function woocom_validate_extra_login_fields( $billing_phone, $username, $email, $validation_errors ){

if (isset($_POST['billing_phone']) && empty($_POST['billing_phone']) ) {

$validation_errors->add('billing_phone_error', __( 'Phone is required!', 'woocommerce'));

}

elseif( isset($_POST['billing_phone']) && !is_numeric($_POST['billing_phone'] )) {
            $validation_errors->add('billing_phone_error', __( 'Please enter your number in the phone field', 'woocommerce'));
}

elseif( isset($_POST['billing_phone']) && strlen($_POST['billing_phone']) != 10) {
            $validation_errors->add('billing_phone_error', __( 'Please enter a correct phone number', 'woocommerce'));
}

global $wpdb;
$billing_phone = $_POST['billing_phone'];

$results = $wpdb->get_results('select * from `aed_usermeta` where meta_key = "billing_phone" and meta_value = "'.$billing_phone.'"');
if ( !$results ) {
            $validation_errors->add( 'billing_phone_error', __( 'Phone number not exists', 'woocommerce' ) );
}


return $validation_errors;

}

add_action( 'process_login' , 'woocom_validate_extra_login_fields' ,  10, 3 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...