diff --git a/src/AKSRT/User/Badges.php b/src/AKSRT/User/Badges.php index 95c8f3d2..bee2531c 100644 --- a/src/AKSRT/User/Badges.php +++ b/src/AKSRT/User/Badges.php @@ -185,9 +185,14 @@ class Badges { } $wear = sanitize_key((string) get_user_meta($user_id, self::META_WEAR, true)); if ($wear === '') { - return ''; + // zibll alias. + $wear = sanitize_key((string) get_user_meta($user_id, 'wear_medal', true)); } $owned = self::get_owned($user_id); + if ($wear === '') { + // Default to newest/first owned badge when unset (zibll behavior). + return $owned[0] ?? ''; + } return in_array($wear, $owned, true) ? $wear : ''; } @@ -211,6 +216,7 @@ class Badges { return new \WP_Error('aksrt_badge_not_owned', __('尚未获得该徽章', 'aksrt'), ['status' => 403]); } update_user_meta($user_id, self::META_WEAR, $slug); + update_user_meta($user_id, 'wear_medal', $slug); // zibll alias return true; }