feat(frontend): single pay-box positions + Zibll cover episodes/slides

Wire pay_box_position to box_top/top/bottom/box_bottom, render download or
paywall modules at those slots, and resolve featured_slide/attachment IDs
plus video episode chrome for single covers.
This commit is contained in:
2026-07-11 22:08:50 +08:00
parent 9c443c808b
commit 619d2bc170
7 changed files with 221 additions and 75 deletions
@@ -37,7 +37,8 @@ class AKSRT_Settings_Payment_Runtime {
$manual_note = trim((string) ($settings['payment_manual_delivery_note'] ?? ''));
$box_position = sanitize_key((string) ($settings['pay_box_position'] ?? 'top'));
if (!in_array($box_position, ['top', 'bottom'], true)) {
// Zibll: box_top | top | bottom | box_bottom
if (!in_array($box_position, ['box_top', 'top', 'bottom', 'box_bottom'], true)) {
$box_position = 'top';
}
@@ -312,7 +313,7 @@ class AKSRT_Settings_Payment_Runtime {
$max_minutes = max(5, min(1440, (int) ($s['payment_order_max_minutes'] ?? 30)));
$box_position = sanitize_key((string) ($s['pay_box_position'] ?? 'top'));
if (!in_array($box_position, ['top', 'bottom'], true)) {
if (!in_array($box_position, ['box_top', 'top', 'bottom', 'box_bottom'], true)) {
$box_position = 'top';
}