refactor(admin): 清理付费 meta 死字段并补齐商品介绍渲染
延续上一轮 pay_count「只写不读」的排查,把其余写而不读的字段一次 性处理完。按字段性质分两类处理,不是一律删。 【删除】纯数据垃圾,无界面入口、无消费方: - card_keys / purchase_limit / stock:只有 DomainModel 的默认值与 sanitize,全仓零引用。契约测试原本还断言它们不得出现在 metabox 上。 - 随 card_keys 一并删除 sanitle_card_keys() 助手。 - video_scale_height「固定长宽比例」:参考主题里这是轮播组件 widget 的参数,不属于付费视频字段,当初误搬到付费 metabox 上且从未被消费。 连默认值、sanitize、metabox 保存项一起移除,并同步修正契约测试。 【补齐】有界面入口、管理员填了但不显示的四个字段: pay_title / pay_doc / pay_details / pay_extra_hide 此前只有 metabox 输入框和 sanitize,前端一个都不读。按参考主题 pages/download.php 的结构接到单篇资源下载页: - pay_title 有值则替代文章标题作商品标题(回退 get_the_title); - pay_doc 商品简介、pay_details 更多详情渲染在标题区下方; - pay_extra_hide 额外隐藏内容只在有下载权限时渲染在下载盒之后。 三处 HTML 输出均走 wp_kses_post,与 sanitize 侧的安全 HTML 口径一致。 同时把 pay_extra_hide 接进文章页付费盒 (aksrt_get_paid_box_html):该函数本身只在有付费权限时执行,天然 就是「付费后才可见」的位置,复用已有的 .pay-extra-hide 样式。 验证:php -l 四个 PHP 文件无语法错误; node --test tests/widget-system/*.test.cjs 449 项全部通过。
This commit is contained in:
1 parent
8e1fd0a30f
commit
b447c41f13
5 files changed
+25
-32
No files matched your search
@@ -1623,6 +1623,11 @@ if (!function_exists('aksrt_get_paid_box_html')) {
|
||||
$title_style = $count !== '' ? ' style="padding-right:48px"' : '';
|
||||
$body_class = 'box-body relative' . ($pay_type === AKSRT_PAY_TYPE_VIDEO ? ' dplayer-featured' : '');
|
||||
|
||||
// 付费后才展示的额外隐藏内容。整个函数只在有付费权限时才会走到这里,
|
||||
// 因此无需再判断购买状态;HTML 由管理员在 metabox 里录入,已过 kses。
|
||||
$pay_extra_hide = trim((string) ($meta['pay_extra_hide'] ?? ''));
|
||||
$pay_extra_hide = $pay_extra_hide !== '' ? '<div class="pay-extra-hide">' . $pay_extra_hide . '</div>' : '';
|
||||
|
||||
return '<div class="pay-box zib-widget paid-box order-type-' . $order_type . '" id="posts-pay"' . $root_data . '>'
|
||||
. $header
|
||||
. $paid_box
|
||||
@@ -1630,6 +1635,7 @@ if (!function_exists('aksrt_get_paid_box_html')) {
|
||||
. $count
|
||||
. '<div' . $title_style . '><span class="badg c-red hollow badg-sm mr6">' . esc_html($type_label) . '</span><b>' . esc_html($title) . '</b></div>'
|
||||
. $download_box
|
||||
. $pay_extra_hide
|
||||
. $service
|
||||
. '</div></div>';
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user