post_content, 'ifnex_tracking_form')) { ?> false, 'message' => 'شماره بارنامه وارد نشده است.')); return; } $client = new IFNEX_API_Client(); $result = $client->track_shipment($awb); if (is_wp_error($result)) { wp_send_json(array('success' => false, 'message' => $result->get_error_message())); return; } // پشتیبانی از هر دو فرمت خروجی API (data.shipment یا مستقیم) $shipment = $result['data']['shipment'] ?? $result; $events = $result['data']['tracking_events'] ?? $result['timeline'] ?? array(); $carriers = $result['data']['carrier_mappings'] ?? $result['carrier_mappings'] ?? array(); // ساخت HTML نتیجه ob_start(); ?>

📦 مرسوله

نوع
جهت
فرستنده
گیرنده
مبدأ
مقصد
وزن kg
تاریخ ثبت

🚚 تاریخچه رهگیری

📍

🚚 تاریخچه رهگیری

هنوز رویداد ترکینگی ثبت نشده است.

🏢 شرکت‌های حمل

| کد رهگیری: | وضعیت:
true, 'html' => $html)); } // AJAX Handler: موجودی کیف پول add_action('wp_ajax_ifnex_get_wallet_balance', 'ifnex_get_wallet_balance_ajax'); add_action('wp_ajax_nopriv_ifnex_get_wallet_balance', 'ifnex_get_wallet_balance_ajax'); function ifnex_get_wallet_balance_ajax() { if (!is_user_logged_in()) { wp_send_json(array('success' => false, 'message' => 'برای مشاهده موجودی باید وارد شوید.')); return; } $bridge = new IFNEX_User_Bridge(); $balance = $bridge->get_wallet_balance(get_current_user_id()); if (is_wp_error($balance)) { wp_send_json(array('success' => false, 'message' => $balance->get_error_message())); return; } wp_send_json(array( 'success' => true, 'balance' => $balance['balance'], 'formatted_balance' => number_format($balance['balance']) . ' ریال', 'total_deposited' => number_format($balance['total_deposited']) . ' ریال', 'total_withdrawn' => number_format($balance['total_withdrawn']) . ' ریال', 'is_frozen' => $balance['is_frozen'], )); } // AJAX Handler: لیست تراکنش‌ها add_action('wp_ajax_ifnex_get_transactions', 'ifnex_get_transactions_ajax'); add_action('wp_ajax_nopriv_ifnex_get_transactions', 'ifnex_get_transactions_ajax'); function ifnex_get_transactions_ajax() { if (!is_user_logged_in()) { wp_send_json(array('success' => false, 'message' => 'برای مشاهده تراکنش‌ها باید وارد شوید.')); return; } $per_page = isset($_POST['per_page']) ? intval($_POST['per_page']) : 10; $bridge = new IFNEX_User_Bridge(); $transactions = $bridge->get_transactions(get_current_user_id(), $per_page); if (is_wp_error($transactions)) { wp_send_json(array('success' => false, 'message' => $transactions->get_error_message())); return; } wp_send_json(array( 'success' => true, 'transactions' => $transactions['transactions'] ?? array(), )); }