feat(forum): P1 topic coupons, P2 plate follow gateway, cash creator revenue

- Topic_Pay: soft/hard coupon validate, payable amount, free-after-discount, paid burn
- Creator_Revenue: settle content/topic/plate_follow cash (type=order), keep shop path
- Plate VIP1/VIP2 meta + resolve_plate_follow_pay_price via aksrt_get_user_vip_level
- New AKSRT_Plate_Follow_Pay REST multi-gateway; remove Credits×100 money bypass
- Frontend: cms-download plate_follow apiKind + forum-governance money cashier bridge
This commit is contained in:
2026-07-15 13:04:04 +08:00
parent 1a15ae7cea
commit 78d3189f8f
14 changed files with 1189 additions and 169 deletions
@@ -665,8 +665,16 @@ trait AKSRT_Scripts_Part_1b {
$is_pay_forum_topic = is_singular('aksrt_forum_topic')
&& sanitize_key((string) get_post_meta(get_queried_object_id(), '_aksrt_visibility', true)) === 'pay';
// 单篇资源 / 付费内容 / 独立下载页 / 付费主题:下载 + 收银台脚本
if ($is_single_resource || $is_paid_content_single || $is_download_file_page || $is_pay_forum_topic) {
// 版块现金付费关注:多网关收银台
$is_pay_forum_plate = false;
if (is_singular('aksrt_forum_plate')) {
$plate_qid = get_queried_object_id();
$is_pay_forum_plate = (int) get_post_meta($plate_qid, '_aksrt_follow_pay', true) === 1
&& sanitize_key((string) (get_post_meta($plate_qid, '_aksrt_follow_pay_modo', true) ?: 'money')) === 'money';
}
// 单篇资源 / 付费内容 / 独立下载页 / 付费主题 / 付费关注版块:下载 + 收银台脚本
if ($is_single_resource || $is_paid_content_single || $is_download_file_page || $is_pay_forum_topic || $is_pay_forum_plate) {
$cms_download_js_path = get_template_directory() . '/assets/js/cms-download.js';
wp_enqueue_script(
'aksrt-cms-download',