اگر چند بسته دارید، برای هرکدوم اطلاعات جداگانه وارد کنید. وزن واقعی و ابعاد هر دو اجباری هستند (وزن حجمی خودکار محاسبه میشود).
تعداد بستهها:0
مجموع وزن واقعی:0 kg
مجموع وزن حجمی:0 kg
وزن قابل محاسبه:0 kg
👤 اطلاعات فرستنده
📮 اطلاعات گیرنده
📋 اقلام گمرکی (Invoice)
اقلام موجود در بستههای خود را وارد کنید. این اطلاعات برای فاکتور صادراتی الزامی است. حداکثر ۹ ردیف.
📦 تعداد اقلام:0
💰 مجموع فاکتور (USD):0.00
🏷️ کد تخفیف (اختیاری)
⏳ در حال محاسبه قیمت...
✅ تأیید نهایی سفارش
برای پرداخت، باید وارد شوید.';
}
$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 '
برای مشاهده جزئیات، باید وارد شوید.';
}
$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 '