' . esc_html__('会员功能未启用。', 'aksrt') . ''; return; } $user_id = (int) ($user_id ?? get_current_user_id()); $vip_state = function_exists('aksrt_get_user_vip_state') ? aksrt_get_user_vip_state($user_id) : []; $level = (int) ($vip_state['level'] ?? 0); $points_exchange = []; $user_points = 0; $currency_name = __('积分', 'aksrt'); if (class_exists('\\AKSRT\\Content\\VipService')) { $vip_catalog = \AKSRT\Content\VipService::get_instance()->get_catalog($user_id); $points_exchange = is_array($vip_catalog['points_exchange'] ?? null) ? $vip_catalog['points_exchange'] : []; $user_points = (int) ($vip_catalog['user_points'] ?? 0); $currency_name = (string) ($vip_catalog['currency_name'] ?? $currency_name); } $expires = max(0, (int) ($vip_state['expires'] ?? 0)); $base_level = 0; $base_expires = 0; $expired_level = min(2, max(0, (int) ($vip_state['expired_level'] ?? 0))); $vip_state_name = (string) ($vip_state['state'] ?? 'unopened'); $vip_state_source = (string) ($vip_state['source'] ?? 'none'); $levels = is_array($vip_settings['levels'] ?? null) ? $vip_settings['levels'] : []; $desc_top = (string) ($vip_settings['desc'] ?? ''); // Membership summary: title → level → intro → expiry. $vip_state = 'unopened'; $vip_state_label = __('未开通', 'aksrt'); $vip_level_number = 0; $vip_level_name = __('未开通会员', 'aksrt'); $vip_description = $desc_top !== '' ? $desc_top : __('开通会员,尊享专属特权', 'aksrt'); $vip_expiry_text = __('到期时间:未开通', 'aksrt'); $vip_is_permanent = false; $btn_type = 'pay'; if ($level > 0) { $vip_level_number = $level; $vip_level_name = (string) ($levels[$level]['name'] ?? ('VIP' . $level)); $level_desc = (string) ($levels[$level]['desc'] ?? ''); $vip_description = $level_desc !== '' ? $level_desc : __('尊享专属特权', 'aksrt'); if ($expires <= 0 && $vip_state_source !== 'order') { $vip_state = 'permanent'; $vip_state_label = __('永久有效', 'aksrt'); $vip_expiry_text = __('到期时间:永久会员', 'aksrt'); $vip_is_permanent = true; if ($level < 2) { $btn_type = 'upgrade'; } } else { $vip_state = 'active'; $vip_state_label = __('生效中', 'aksrt'); $vip_expiry_text = sprintf(__('到期时间:%s', 'aksrt'), wp_date('Y年m月d日', $expires)); 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'; $vip_state_label = __('已过期', 'aksrt'); $vip_level_number = $expired_level; $vip_level_name = (string) ($levels[$expired_level]['name'] ?? ('VIP' . $expired_level)); $expired_desc = (string) ($levels[$expired_level]['desc'] ?? ''); $vip_description = $expired_desc !== '' ? $expired_desc : ($desc_top !== '' ? $desc_top : __('会员已过期', 'aksrt')); $vip_expiry_text = $expires > 0 ? sprintf(__('到期时间:%s', 'aksrt'), wp_date('Y年m月d日', $expires)) : __('到期时间:已过期', 'aksrt'); } $status_html = '