Подтверждение регистрации пользователя Buddypress не работает с запросом пользовательского выбора

Я создал номер телефона в качестве поля профиля Buddypress. Мне нужно проверить, нет ли у двух или более учетных записей пользователей один и тот же номер телефона. Мой запрос ниже не предусматривает ограничение.

Мне нужна помощь, чтобы решить эту проблему.

function bp_phone_number_validate() { global $bp; global $wpdb; // check if phone number is in use $result=$bp->get_var("SELECT COUNT(*) FROM {$bp->profile->wp_bp_xprofile_data} WHERE value = '{$_POST['field_2']}' GROUP BY id;"); if($result > 0){ $bp->signup->errors['field_2'] = __( 'Phone number is already in use.', 'buddypress' ); } } add_action( 'bp_signup_validate', 'bp_phone_number_validate'); 

Нет такой вещи, как $bp->get_var . Попробуйте использовать $wpdb->get_var .

Или попробуйте следующее:

 function validate_user_signup($result) { global $wpdb; $result = $wpdb->get_var("SELECT user_id FROM wp_bp_xprofile_data WHERE value = '{$_POST['field_2']}'"); if( $result != NULL ){ $new_error = new WP_Error(); $new_error->add( 'field_2', __( 'Phone number is already in use.', 'buddypress' ) ); $result['errors'] = $new_error; } return $result; } add_filter('bp_core_validate_user_signup', 'validate_user_signup', 10, 1);