diff --git a/inc/helpers/user-center-renderers/vip-tab.php b/inc/helpers/user-center-renderers/vip-tab.php
index 90b86559..1c75ba6b 100644
--- a/inc/helpers/user-center-renderers/vip-tab.php
+++ b/inc/helpers/user-center-renderers/vip-tab.php
@@ -169,10 +169,4 @@ foreach ([1, 2] as $lv) {
// 下方的全宽横条;仅非会员 + 积分兑换开启 + 有可兑换套餐时输出)。
echo aksrt_get_vip_points_exchange_entry_html($user_id, $level); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- 各字段已在生成时转义。
?>
-
-
-
-
-
-
diff --git a/tests/widget-system/vip-modal-copy-fields.test.cjs b/tests/widget-system/vip-modal-copy-fields.test.cjs
index 27a43827..87196c9d 100644
--- a/tests/widget-system/vip-modal-copy-fields.test.cjs
+++ b/tests/widget-system/vip-modal-copy-fields.test.cjs
@@ -27,6 +27,9 @@ const vipSchemaJs = read('assets', 'admin', 'src', 'schema', 'sections', 'paymen
const schemaPhp = read('src', 'Admin', 'Schema', 'SchemaPayment.php');
const paymentRuntime = read('src', 'Settings', 'PaymentRuntime.php');
const rechargeJs = read('assets', 'admin', 'src', 'schema', 'sections', 'payment', 'recharge.js');
+const vipTabPhp = read('inc', 'helpers', 'user-center-renderers', 'vip-tab.php');
+const modalSource = read('src', 'Content', 'VipServiceModal.php');
+const payVipJs = read('assets', 'js', 'pay-vip.js');
const DESC_DEFAULT = '开通VIP会员,享受会员专属折扣以及多项特权';
const MORE_DEFAULT = '购买后不支持退款
VIP权益仅适用于本站
欢迎与站长联系
';
@@ -143,3 +146,13 @@ test('会员介绍运行时按单行文本净化', () => {
assert.ok(vipSettings.includes("$desc = sanitize_text_field((string) ($settings['pay_user_vip_desc']"));
assert.ok(!vipSettings.includes('$desc = sanitize_textarea_field'));
});
+
+test('开通会员更多内容只在弹窗内渲染,不裸露在用户中心页面', () => {
+ // 参考主题 zibpay_user_page_tab_content_vip 只渲染 pay_user_vip_desc;
+ // pay_user_vip_more 仅出现在两个弹窗函数(购买/续费弹窗)中。
+ assert.ok(!vipTabPhp.includes("vip_settings['more']"), '用户中心 VIP 页不应渲染 more');
+ assert.ok(!vipTabPhp.includes('muted-box padding-10 mini-radius mt15'), '用户中心 VIP 页不应有 more 提示盒');
+ // 弹窗侧保持:视图模型透传 more + pay-vip.js 右列渲染。
+ assert.match(modalSource, /'more'\s+=>/);
+ assert.match(payVipJs, /catalog\.more/);
+});