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/); +});