fix(user): repair phone binding and profile fields
This commit is contained in:
+13
-11
@@ -127,7 +127,7 @@ trait ServicePart1b {
|
||||
}
|
||||
|
||||
// 绑定手机号
|
||||
update_user_meta($user_id, 'aksrt_phone', $phone);
|
||||
update_user_meta($user_id, 'phone_number', $phone);
|
||||
update_user_meta($user_id, 'aksrt_phone_verified', '1');
|
||||
|
||||
// 自动登录
|
||||
@@ -173,21 +173,23 @@ trait ServicePart1b {
|
||||
return ['success' => false, 'error' => __('验证码错误或已过期', 'aksrt')];
|
||||
}
|
||||
|
||||
// 检查手机号是否已被其他用户绑定
|
||||
$user_id = get_current_user_id();
|
||||
$existing = self::get_user_by_phone($phone);
|
||||
if ($existing && (int) $existing->ID !== get_current_user_id()) {
|
||||
if ($existing && (int) $existing->ID !== $user_id) {
|
||||
return ['success' => false, 'error' => __('该手机号已被其他账号绑定', 'aksrt')];
|
||||
}
|
||||
if ($existing && (int) $existing->ID === $user_id) {
|
||||
return ['success' => false, 'error' => __('手机号不能与当前绑定号码相同', 'aksrt')];
|
||||
}
|
||||
|
||||
$user_id = get_current_user_id();
|
||||
update_user_meta($user_id, 'aksrt_phone', $phone);
|
||||
update_user_meta($user_id, 'aksrt_phone_verified', '1');
|
||||
do_action('aksrt_user_phone_changed', $user_id, $phone);
|
||||
|
||||
return [
|
||||
$old_phone = (string) get_user_meta($user_id, 'phone_number', true);
|
||||
update_user_meta($user_id, 'phone_number', $phone);
|
||||
update_user_meta($user_id, 'aksrt_phone_verified', '1');
|
||||
do_action('aksrt_user_phone_changed', $user_id, $phone, $old_phone);
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
'message' => __('手机号绑定成功', 'aksrt'),
|
||||
'message' => $old_phone !== '' ? __('手机号修改成功', 'aksrt') : __('手机号绑定成功', 'aksrt'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -196,7 +198,7 @@ trait ServicePart1b {
|
||||
*/
|
||||
private static function get_user_by_phone(string $phone): ?\WP_User {
|
||||
$users = get_users([
|
||||
'meta_key' => 'aksrt_phone',
|
||||
'meta_key' => 'phone_number',
|
||||
'meta_value' => $phone,
|
||||
'number' => 1,
|
||||
'fields' => 'all',
|
||||
|
||||
Reference in New Issue
Block a user