' . esc_html__('请先登录', 'aksrt') . ''; return; } $raw_query = [ 'status' => $_GET['order_status'] ?? 'all', 'type' => $_GET['order_type'] ?? '', 'order_number' => $_GET['order_number'] ?? '', 'page' => $_GET['order_page'] ?? 1, 'per_page' => 20, ]; $query = \AKSRT\Payment\OrderCenterQuery::from_array($raw_query); $orders_view = function_exists('aksrt_get_orders_page_view') ? aksrt_get_orders_page_view($user_id, $query->page(), $query->per_page(), $query->status(), $query->product_type(), $query->order_number()) : ['items' => [], 'total' => 0, 'total_pages' => 1, 'page' => 1, 'stats' => [], 'product_types' => []]; $orders = (array) ($orders_view['items'] ?? []); $stats = is_array($orders_view['stats'] ?? null) ? $orders_view['stats'] : []; $type_options = is_array($orders_view['product_types'] ?? null) ? $orders_view['product_types'] : []; $page = max(1, (int) ($orders_view['page'] ?? 1)); $total_pages = max(1, (int) ($orders_view['total_pages'] ?? 1)); $status = $query->status(); $type = $query->product_type(); $order_number = $query->order_number(); $orders_url = static function (array $override = []) use ($status, $type, $order_number, $page): string { $values = array_merge([ 'order_status' => $status, 'order_type' => $type, 'order_number' => $order_number, 'order_page' => $page, ], $override); $base = function_exists('aksrt_get_user_center_url') ? aksrt_get_user_center_url('orders') : home_url('/profile/'); $values['tab'] = 'orders'; foreach ($values as $key => $value) { if ($value === '' || $value === null || ($key === 'order_page' && (int) $value <= 1) || ($key === 'order_status' && $value === 'all')) { unset($values[$key]); } } return add_query_arg($values, remove_query_arg(['order_tab', 'otab', 'section'], $base)); }; $status_options = [ 'all' => __('全部', 'aksrt'), 'pending' => __('待支付', 'aksrt'), 'paid' => __('已支付', 'aksrt'), 'refunding' => __('退款中', 'aksrt'), 'refunded' => __('已退款', 'aksrt'), 'closed' => __('已关闭', 'aksrt'), ]; ?>