feat(vip): Batch 2 pay-vip modal REST, JS, and CSS

This commit is contained in:
kate522 committed 2026-07-21 16:45:23 +08:00
1 parent a4562627d8
commit 965032f2e9
8 files changed
+917 -7

No files matched your search

+12 -3
View File
@@ -175,12 +175,21 @@ if (!function_exists('aksrt_render_header_menu_buttons')) :
}
if (!$is_vip) {
$cls = $user_id > 0 ? 'pay-vip' : 'signin-loader';
$hover = '';
if (class_exists('\AKSRT\Content\VipService')) {
$svc = \AKSRT\Content\VipService::get_instance();
if (method_exists($svc, 'render_vip_card')) {
$cards = $svc->render_vip_card(1, $user_id) . $svc->render_vip_card(2, $user_id);
if ($cards !== '') {
$hover = '<div class="sub-menu hover-show-con sub-vip-card">' . $cards . '</div>';
}
}
}
$html .= '<div class="navbar-form navbar-right navbar-vip hover-show inline-block">';
$html .= '<a class="but jb-red radius payvip-icon ml10 ' . esc_attr($cls) . '" href="javascript:;"' . ($user_id > 0 ? ' vip-level="1"' : '') . '>';
$html .= '<i class="fa fa-diamond em12 mr3" aria-hidden="true"></i>' . esc_html__('开通会员', 'aksrt');
$html .= '</a></div>';
}
}
$html .= '</a>' . $hover . '</div>';
} }
return $html;
}
+10 -4
View File
@@ -161,12 +161,16 @@ function aksrt_is_vip2(int $user_id = 0): bool {
*
* @return string
*/
function aksrt_get_vip_badge_text(): string {
function aksrt_get_vip_badge_text(int $user_id = 0): string {
if (!class_exists('\AKSRT\Settings\Settings')) {
return 'VIP';
}
$vip_settings = \AKSRT\Settings\Settings::get_payment_vip_settings();
$level = $user_id > 0 ? aksrt_get_user_vip_level($user_id) : 0;
if ($level >= 1 && !empty($vip_settings['levels'][$level]['name'])) {
return sanitize_text_field((string) $vip_settings['levels'][$level]['name']);
}
return sanitize_text_field($vip_settings['badge_text'] ?? 'VIP');
}
@@ -344,10 +348,12 @@ function aksrt_render_vip_badge(int $user_id = 0, string $size = 'sm'): string {
return '';
}
$badge_text = aksrt_get_vip_badge_text();
$level = aksrt_get_user_vip_level($user_id);
$badge_text = aksrt_get_vip_badge_text($user_id);
$size_class = 'aksrt-vip-badge--' . $size;
$level_class = $level >= 2 ? 'aksrt-vip-badge--vip2' : 'aksrt-vip-badge--vip1';
return '<span class="aksrt-vip-badge aksrt-vip-badge--gold ' . esc_attr($size_class) . '"><i class="fas fa-crown"></i> ' . esc_html($badge_text) . '</span>';
return '<span class="aksrt-vip-badge aksrt-vip-badge--gold ' . esc_attr($size_class . ' ' . $level_class) . '"><i class="fas fa-crown"></i> ' . esc_html($badge_text) . '</span>';
}
/**
@@ -359,7 +365,7 @@ function aksrt_render_vip_badge(int $user_id = 0, string $size = 'sm'): string {
function aksrt_get_vip_info(int $user_id = 0): array {
$level = aksrt_get_user_vip_level($user_id);
$is_vip = $level >= 1;
$badge_text = aksrt_get_vip_badge_text();
$badge_text = aksrt_get_vip_badge_text($user_id);
$expires = $user_id > 0 ? (int) get_user_meta($user_id, 'aksrt_vip_expires', true) : 0;
$expires_label = __('未开通', 'aksrt');
if ($level > 0) {