'available', 'can_download' => true, 'message' => '', 'action_label' => __('立即下载', 'aksrt'), 'action_url' => '', 'cost' => 0, 'balance' => 0, 'login_url' => wp_login_url(get_permalink($post_id)), 'pay_modo' => '0', 'amount' => 0.0, 'need_purchase' => false, 'need_vip' => false, ]; if (class_exists('\AKSRT\Content\DownloadState')) { $state = array_merge($state, \AKSRT\Content\DownloadState::get_instance()->resolve($post_id)); } elseif (function_exists('aksrt_can_download')) { $gate = aksrt_can_download($post_id); if (is_wp_error($gate)) { $code = $gate->get_error_code(); $data = (array) $gate->get_error_data(); $state['can_download'] = false; $state['message'] = $gate->get_error_message(); if ($code === 'aksrt_need_login') { $state['state'] = 'not_logged_in'; $state['action_label'] = __('登录下载', 'aksrt'); $state['action_url'] = (string) ($data['login_url'] ?? $state['login_url']); } elseif ($code === 'aksrt_need_vip') { $state['state'] = 'need_vip'; $state['action_label'] = __('开通会员', 'aksrt'); $state['need_vip'] = true; } else { $state['state'] = 'need_purchase'; $state['action_label'] = __('去购买', 'aksrt'); $state['need_purchase'] = true; } } } $status = (string) ($state['state'] ?? 'available'); if ($status === 'insufficient_credits') { $status = 'need_purchase'; } $can_download = !empty($state['can_download']); $status_text = (string) ($state['message'] ?? ''); $action_label = (string) ($state['action_label'] ?? __('立即下载', 'aksrt')); $action_url = (string) ($state['action_url'] ?? ''); $login_url = (string) ($state['login_url'] ?? wp_login_url(get_permalink($post_id))); $pay_modo = (string) ($state['pay_modo'] ?? '0'); $amount = (float) ($state['amount'] ?? 0); $need_purchase = !empty($state['need_purchase']) || $status === 'need_purchase'; $need_vip = !empty($state['need_vip']) || $status === 'need_vip'; $state_icons = [ 'available' => ['icon' => 'fa-check-circle', 'color' => 'success'], 'owned' => ['icon' => 'fa-download', 'color' => 'success'], 'not_logged_in' => ['icon' => 'fa-lock', 'color' => 'warning'], 'need_purchase' => ['icon' => 'fa-shopping-cart', 'color' => 'warning'], 'need_vip' => ['icon' => 'fa-certificate', 'color' => 'warning'], 'no_permission' => ['icon' => 'fa-ban', 'color' => 'warning'], 'pending_delivery' => ['icon' => 'fa-clock', 'color' => 'info'], ]; $state_info = $state_icons[$status] ?? $state_icons['available']; ?>
0) : ?>