diff --git a/src/Content/VipServiceModal.php b/src/Content/VipServiceModal.php index ee809ce6..a41646ba 100644 --- a/src/Content/VipServiceModal.php +++ b/src/Content/VipServiceModal.php @@ -250,7 +250,7 @@ trait VipServiceModal { // (参考主题源码写作 `!$min_val > $user_points`,因运算符优先级恒假, // 此处按其原意取真实比较,保证提示分支可达。) if ($min_points > $user_points) { - $form = '
' . esc_html__('积分不足,暂时无法兑换', 'aksrt') . '
'; + $form = '
' . esc_html__('积分不足,暂时无法兑换', 'aksrt') . '
'; } else { $form = '
' . '' diff --git a/tests/widget-system/vip-points-exchange-modal.test.cjs b/tests/widget-system/vip-points-exchange-modal.test.cjs index e79d6754..294a2125 100644 --- a/tests/widget-system/vip-points-exchange-modal.test.cjs +++ b/tests/widget-system/vip-points-exchange-modal.test.cjs @@ -66,7 +66,9 @@ test('弹窗内容保持参考主题结构:标题/我的积分/卡片选择/ assert.match(modal, /name="action" value="points_initiate_pay"/); assert.match(modal, /mt6 but jb-yellow btn-block radius padding-lg/); assert.match(modal, /data-aksrt-vip-points-submit/); - assert.match(modal, /badg c-red btn-block/); + // CTA 与积分不足状态都从卡片选择区留出 20px 上间距,避免状态切换时布局贴紧。 + assert.match(modal, /\$form = '
'/); + assert.match(modal, /'
'/); }); test('弹窗壳随 wp_footer 全局输出且不进入 catalog 载荷', () => {