fix(vip): preserve layered membership expirations
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ba5638a892
commit
9aa0f1aefa
4 files changed
+43
-11
No files matched your search
@@ -30,6 +30,8 @@ if (class_exists('\\AKSRT\\Content\\VipService')) {
|
||||
$currency_name = (string) ($vip_catalog['currency_name'] ?? $currency_name);
|
||||
}
|
||||
$expires = (int) get_user_meta($user_id, 'aksrt_vip_expires', true);
|
||||
$base_level = (int) get_user_meta($user_id, 'aksrt_vip_base_level', true);
|
||||
$base_expires = (int) get_user_meta($user_id, 'aksrt_vip_base_expires', true);
|
||||
$expired_level = (int) get_user_meta($user_id, 'aksrt_vip_level_expired', true);
|
||||
$levels = is_array($vip_settings['levels'] ?? null) ? $vip_settings['levels'] : [];
|
||||
$desc_top = (string) ($vip_settings['desc'] ?? '');
|
||||
@@ -62,7 +64,14 @@ if ($level > 0) {
|
||||
$vip_state = 'active';
|
||||
$vip_state_label = __('生效中', 'aksrt');
|
||||
$vip_expiry_text = sprintf(__('到期时间:%s', 'aksrt'), wp_date('Y年m月d日', $expires));
|
||||
$btn_type = 'renew_' . $level;
|
||||
if ($base_level > 0 && $base_level < $level) {
|
||||
$base_name = (string) ($levels[$base_level]['name'] ?? ('VIP' . $base_level));
|
||||
$base_expiry_text = $base_expires > 0
|
||||
? wp_date('Y年m月d日', $base_expires)
|
||||
: __('永久', 'aksrt');
|
||||
$vip_expiry_text .= ';' . sprintf(__('%s:%s', 'aksrt'), $base_name, $base_expiry_text);
|
||||
}
|
||||
$btn_type = 'renew_' . $level;
|
||||
}
|
||||
} elseif ($expired_level > 0) {
|
||||
$vip_state = 'expired';
|
||||
|
||||
Reference in new issue
Block a user