diff --git a/inc/helpers/user-center-renderers/vip-tab.php b/inc/helpers/user-center-renderers/vip-tab.php index 7fd5319a..dfa31bab 100644 --- a/inc/helpers/user-center-renderers/vip-tab.php +++ b/inc/helpers/user-center-renderers/vip-tab.php @@ -93,7 +93,8 @@ $status_html = '
' . '' . esc_html($vip_state_label) . '' . '
' . '
' - . '' + // 未开通(level 0)不输出图标位:名称前不放通用证书图标。 + . ($vip_level_number > 0 ? '' : '') . '' . esc_html($vip_level_name) . '' . '
' . '
' . esc_html($vip_description) . '
' diff --git a/tests/widget-system/vip-tab-status-card.test.cjs b/tests/widget-system/vip-tab-status-card.test.cjs index 3e05222a..d5471c3e 100644 --- a/tests/widget-system/vip-tab-status-card.test.cjs +++ b/tests/widget-system/vip-tab-status-card.test.cjs @@ -34,3 +34,10 @@ test('生效中/永久/已过期分支仍产出到期文案', () => { const assignments = vipTab.match(/\$vip_expiry_text\s*=/g) || []; assert.ok(assignments.length >= 4, '初始化 + 永久 + 生效中 + 已过期均应赋值'); }); + +test('未开通状态名称前不渲染图标位', () => { + // 图标位仅在有等级(生效中/永久/已过期)时输出;未开通(level 0)不输出, + // 避免「未开通会员」前面挂通用证书图标。 + assert.match(vipTab, /\$vip_level_number > 0 \? '' . \$status_icon"), '图标位不应再无条件渲染'); +});