feat(pay): content cashier, resource orders at VIP price, purchase/download JS loop

Wire zibll-style one-shot points/cash cashier for post+_aksrt_pay downloads:
server amount from aksrt_get_user_pay_price, ORDER_PRODUCT_RESOURCE unlock,
frontend need-purchase opens modal, download box purchased/VIP/purchase CTAs.
This commit is contained in:
kate522 committed 2026-07-14 11:52:44 +08:00
1 parent abe2f57417
commit 770205623d
11 files changed
+1142 -170

No files matched your search

@@ -140,6 +140,24 @@ trait AKSRT_Scripts_Part_1b {
$is_single_resource = (function_exists('aksrt_is_resource_post') && is_singular() && aksrt_is_resource_post(get_queried_object_id()));
// 普通博客 single(排除资源型 post)
$is_single_post = is_singular('post') && !$is_single_resource;
// 付费下载/付费墙:任意 singular 需收银台/下载脚本
$is_paid_content_single = false;
if (is_singular()) {
$qid = (int) get_queried_object_id();
if ($qid > 0) {
if (function_exists('aksrt_is_downloadable_content') && aksrt_is_downloadable_content($qid)) {
$is_paid_content_single = true;
} elseif (function_exists('aksrt_is_paid_post') && aksrt_is_paid_post($qid)) {
$is_paid_content_single = true;
} elseif (function_exists('aksrt_get_pay_meta')) {
$pm = aksrt_get_pay_meta($qid);
$pt = (string) ($pm['pay_type'] ?? 'no');
$is_paid_content_single = ($pt !== '' && $pt !== 'no');
}
}
}
// 独立下载页模板
$is_download_file_page = is_page_template('templates/pages/page-download-file.php');
// 资源虚拟列表 /resources/
$is_resource_archive = function_exists('aksrt_is_resource_archive') && aksrt_is_resource_archive();
// /user/{nicename}/ 自定义重写路由(class-aksrt-user.php 注册)
@@ -643,13 +661,13 @@ trait AKSRT_Scripts_Part_1b {
$enqueue_module('resource-archive');
}
// 单篇资源:下载脚本
if ($is_single_resource) {
// 单篇资源 / 付费内容 / 独立下载页:下载 + 收银台脚本
if ($is_single_resource || $is_paid_content_single || $is_download_file_page) {
$cms_download_js_path = get_template_directory() . '/assets/js/cms-download.js';
wp_enqueue_script(
'aksrt-cms-download',
$base_uri . '/assets/js/cms-download.js',
['aksrt-script'],
['aksrt-script', 'aksrt-runtime'],
file_exists($cms_download_js_path) ? (string) filemtime($cms_download_js_path) : $version,
true
);