'رهگیری مرسوله', 'placeholder' => 'شماره بارنامه را وارد کنید', 'button_text' => 'رهگیری', ), $atts); // خواندن پارامتر awb از URL $awb_from_url = isset($_GET['awb']) ? sanitize_text_field($_GET['awb']) : ''; ob_start(); ?>

'', ), $atts); if (empty($atts['awb'])) { return '

شماره بارنامه وارد نشده است.

'; } $client = new IFNEX_API_Client(); $result = $client->track_shipment($atts['awb']); if (is_wp_error($result)) { return '

' . esc_html($result->get_error_message()) . '

'; } ob_start(); ?>

وضعیت مرسوله

نوع:

جهت:

فرستنده:

گیرنده:

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

برای مشاهده موجودی باید وارد شوید.

'; } $atts = shortcode_atts(array( 'show_details' => 'no', ), $atts); $bridge = new IFNEX_User_Bridge(); $balance = $bridge->get_wallet_balance(get_current_user_id()); if (is_wp_error($balance)) { return '

' . esc_html($balance->get_error_message()) . '

'; } ob_start(); ?>
موجودی کیف پول: ریال

مجموع واریزی: ریال

مجموع برداشت: ریال

⚠️ کیف پول شما مسدود است.

برای مشاهده تراکنش‌ها باید وارد شوید.

'; } $atts = shortcode_atts(array( 'per_page' => 10, 'show_pagination' => 'no', ), $atts); $bridge = new IFNEX_User_Bridge(); $transactions = $bridge->get_transactions(get_current_user_id(), intval($atts['per_page'])); if (is_wp_error($transactions)) { return '

' . esc_html($transactions->get_error_message()) . '

'; } if (empty($transactions['transactions'])) { return '

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

'; } ob_start(); ?>

تاریخچه تراکنش‌ها

= 0 ? '+' : ''; ?> ریال

کد پیگیری:

1): ?>
برای مشاهده پروفایل، باید وارد شوید.

'; } $atts = shortcode_atts(array( 'show_stats' => 'yes', 'show_wallet' => 'yes', 'show_recent_orders' => 'yes', ), $atts); $bridge = new IFNEX_User_Bridge(); $user_id = get_current_user_id(); $profile = $bridge->get_customer_profile($user_id); if (is_wp_error($profile)) { return '

' . esc_html($profile->get_error_message()) . '

'; } ob_start(); ?>

👤

ایمیل:

تلفن:

عضویت از:

💰 وضعیت مالی

مانده حساب (موجودی منهای بدهی‌ها)
ریال
0): ?>
⚠️ بدهی در انتظار پرداخت: ریال
موجودی کیف پول
ریال
وضعیت
🔴 مسدود 🟢 فعال

📊 آمار سفارشات

کل سفارشات
در انتظار تأیید
در انتظار پرداخت
در حال پردازش
تحویل شده
0): ?>

مجموع خرید: ریال

برای مشاهده سفارشات، باید وارد شوید.

'; } $atts = shortcode_atts(array( 'per_page' => 10, 'status' => '', ), $atts); $bridge = new IFNEX_User_Bridge(); $user_id = get_current_user_id(); $result = $bridge->get_customer_orders($user_id, intval($atts['per_page']), $atts['status']); if (is_wp_error($result)) { return '

' . esc_html($result->get_error_message()) . '

'; } $orders = $result['data'] ?? []; $pagination = $result['pagination'] ?? []; ob_start(); ?>

📦 سفارشات من

➕ ثبت سفارش جدید
همه در انتظار پرداخت پردازش شده در حال حمل تحویل شده

📭 هنوز سفارشی ثبت نکرده‌اید.

اولین سفارش خود را ثبت کنید
AWB:
از:
به:
وزن: kg
مبلغ: ریال
تاریخ:
1): ?>

🔐 ورود لازم است

برای ثبت سفارش، ابتدا باید وارد حساب کاربری خود شوید.

ورود به حساب
۱
مسیر و بسته
۲
اطلاعات تماس
۴
بررسی قیمت
۵
تأیید نهایی

📦 مشخصات مرسوله

📦 بسته‌های مرسوله

اگر چند بسته دارید، برای هرکدوم اطلاعات جداگانه وارد کنید. وزن واقعی و ابعاد هر دو اجباری هستند (وزن حجمی خودکار محاسبه می‌شود).

👤 اطلاعات فرستنده

📮 اطلاعات گیرنده

🏷️ کد تخفیف (اختیاری)

✅ تأیید نهایی سفارش

برای پرداخت، باید وارد شوید.

'; } $atts = shortcode_atts(array('order_id' => ''), $atts); // دریافت order_id از URL parameter $order_id = $atts['order_id'] ?: ($_GET['order_id'] ?? 0); if (!$order_id) { return '

شناسه سفارش مشخص نشده است.

'; } $bridge = new IFNEX_User_Bridge(); $user_id = get_current_user_id(); $order = $bridge->get_customer_order($user_id, $order_id); if (is_wp_error($order)) { return '

' . esc_html($order->get_error_message()) . '

'; } $data = $order['data']; // بررسی وضعیت (فقط سفارشات تأیید شده قابل پرداخت هستند) if ($data['status']['value'] !== 'approved') { $message = 'این سفارش هنوز تأیید نشده است و قابل پرداخت نیست.'; if ($data['status']['value'] === 'pending_approval') { $message = 'این سفارش در انتظار تأیید کارمند است. پس از تأیید، گزینه پرداخت فعال خواهد شد.'; } elseif ($data['status']['is_paid']) { $message = 'این سفارش قبلاً پرداخت شده است.'; } return '

⏳ ' . $message . '

وضعیت فعلی: ' . esc_html($data['status']['label']) . '

بازگشت به سفارشات
'; } $balance = $bridge->get_wallet_balance($user_id); $wallet_balance = is_wp_error($balance) ? 0 : ($balance['balance'] ?? 0); $can_pay_wallet = $wallet_balance >= $data['total_fee']; // بررسی نتیجه پرداخت از درگاه (callback) $payment_status = sanitize_text_field($_GET['status'] ?? ''); $payment_message = sanitize_text_field($_GET['message'] ?? ''); $payment_ref_id = sanitize_text_field($_GET['ref_id'] ?? ''); ob_start(); ?>

💳 پرداخت سفارش

✅ پرداخت با موفقیت انجام شد!

کد پیگیری تراکنش:

مبلغ: ریال

سفارش شما در حال پردازش است.

مشاهده سفارشات

❌ پرداخت ناموفق بود

⚠️ خطا در پرداخت

شماره پیگیری:
مسیر:
مبلغ قابل پرداخت: ریال

💰 پرداخت از کیف پول

موجودی فعلی: ریال

⚠️ موجودی کافی نیست. لطفاً ابتدا کیف پول خود را شارژ کنید.

شارژ کیف پول

🏦 پرداخت از درگاه بانکی

انتقال به درگاه پرداخت امن (زرین‌پال)

برای مشاهده جزئیات، باید وارد شوید.

'; } $atts = shortcode_atts(array('order_id' => ''), $atts); $order_id = $atts['order_id'] ?: ($_GET['order_id'] ?? 0); // اگر از URL pretty استفاده شده (order-detail/14/) if (!$order_id && isset($_SERVER['REQUEST_URI'])) { if (preg_match('/order-detail\/(\d+)/', $_SERVER['REQUEST_URI'], $matches)) { $order_id = $matches[1]; } } if (!$order_id) { return '

شناسه سفارش مشخص نشده است.

'; } $bridge = new IFNEX_User_Bridge(); $user_id = get_current_user_id(); $order = $bridge->get_customer_order($user_id, $order_id); if (is_wp_error($order)) { return '

' . esc_html($order->get_error_message()) . '

'; } $data = $order['data']; $status = $data['status']; ob_start(); ?>

📦 جزئیات سفارش

← بازگشت به سفارشات 💳 پرداخت

🗺️ مسیر ارسال

از
✈️
به

📦 اطلاعات مرسوله

نوع سرویس
جهت ارسال
وزن واقعی kg
وزن قابل محاسبه kg
تاریخ ثبت

💰 اطلاعات مالی

مبلغ خالص (درهم): AED
مبلغ خالص (ریال): ریال
مبلغ کل: ریال
وضعیت پرداخت:

👤 اطلاعات فرستنده

نام
تلفن
آدرس

📮 اطلاعات گیرنده

نام
تلفن
آدرس

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

-
📍

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

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

'', 'orders' => '', 'plus' => '', 'wallet' => '', 'chart' => '', 'tracking' => '', 'user' => '', 'logout' => '', 'truck' => '', 'check' => '', 'clock' => '', ]; $path = $icons[$name] ?? $icons['dashboard']; return '' . $path . ''; } // ══════════════════════════════════════════════════════════════ // شورت‌کد پنل مشتری (Customer Dashboard) // ══════════════════════════════════════════════════════════════ add_shortcode('ifnex_customer_dashboard', 'ifnex_customer_dashboard_shortcode'); function ifnex_customer_dashboard_shortcode($atts) { if (!is_user_logged_in()) { ob_start(); ?> get_customer_profile($user_id); $wallet_balance = 0; $stats = []; if (!is_wp_error($profile)) { $wallet_balance = $profile['wallet']['balance'] ?? 0; $stats = $profile['stats'] ?? []; } $recent_orders = []; if ($tab === 'dashboard') { $orders_result = $bridge->get_customer_orders($user_id, 3); if (!is_wp_error($orders_result)) $recent_orders = $orders_result['data'] ?? []; } $base_url = get_permalink(); $menu_items = [ 'dashboard' => ['icon' => 'dashboard', 'label' => 'داشبورد'], 'orders' => ['icon' => 'orders', 'label' => 'سفارشات من'], 'new-order' => ['icon' => 'plus', 'label' => 'ثبت سفارش جدید'], 'wallet' => ['icon' => 'wallet', 'label' => 'کیف پول'], 'transactions' => ['icon' => 'chart', 'label' => 'تراکنش‌ها'], 'tracking' => ['icon' => 'tracking', 'label' => 'رهگیری مرسوله'], 'profile' => ['icon' => 'user', 'label' => 'پروفایل'], ]; $tab_titles = [ 'dashboard' => 'داشبورد', 'orders' => 'سفارشات من', 'new-order' => 'ثبت سفارش جدید', 'wallet' => 'کیف پول', 'transactions' => 'تراکنش‌ها', 'tracking' => 'رهگیری مرسوله', 'profile' => 'پروفایل', ]; ob_start(); ?>

پنل کاربری /
موجودی کیف پول (ریال)
کل سفارشات
در انتظار پرداخت
در حال پردازش
تحویل شده

آخرین سفارشات

مشاهده همه ←

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

ثبت اولین سفارش
ریال
موجودی فعلی کیف پول
ریال