feat(badges): dual-read/write wear_medal alias + default wear
Align badge wear meta with zibll and auto-pick first owned badge.
This commit is contained in:
1 parent
379692d597
commit
8f17ac410b
1 file changed
+7
-1
@@ -185,9 +185,14 @@ class Badges {
|
|||||||
}
|
}
|
||||||
$wear = sanitize_key((string) get_user_meta($user_id, self::META_WEAR, true));
|
$wear = sanitize_key((string) get_user_meta($user_id, self::META_WEAR, true));
|
||||||
if ($wear === '') {
|
if ($wear === '') {
|
||||||
return '';
|
// zibll alias.
|
||||||
|
$wear = sanitize_key((string) get_user_meta($user_id, 'wear_medal', true));
|
||||||
}
|
}
|
||||||
$owned = self::get_owned($user_id);
|
$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 : '';
|
return in_array($wear, $owned, true) ? $wear : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,6 +216,7 @@ class Badges {
|
|||||||
return new \WP_Error('aksrt_badge_not_owned', __('尚未获得该徽章', 'aksrt'), ['status' => 403]);
|
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, self::META_WEAR, $slug);
|
||||||
|
update_user_meta($user_id, 'wear_medal', $slug); // zibll alias
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user