افزودن فرم بررسی وضعیت سفارش ووکامرس با شماره سفارش (بدون ورود کاربر)
افزودن فرم بررسی وضعیت سفارش ووکامرس با شماره سفارش (بدون ورود کاربر)
در فروشگاههای اینترنتی مبتنی بر ووکامرس، گاهی مشتریان پس از خرید نیاز دارند بدون ورود به حساب کاربری، تنها با داشتن شماره سفارش وضعیت سفارش خود را بررسی کنند. این امکان بهویژه در فروشگاههایی که کاربران معمولاً مهمان (Guest) هستند یا از لاگین استفاده نمیکنند، بسیار کاربردی است.
در این مقاله یاد میگیرید چطور با ایجاد یک شورتکد اختصاصی، فرم سادهای برای بررسی وضعیت سفارش بسازید که فقط با وارد کردن شماره سفارش، وضعیت آن را نمایش دهد.
✅ چرا چنین فرمی مفید است؟
راحتی برای کاربران مهمان
صرفهجویی در زمان پشتیبانی
افزایش حس شفافیت و اعتماد در کاربران
جلوگیری از تماسهای تکراری پشتیبانی
? مراحل ساخت فرم بررسی سفارش در ووکامرس
۱. افزودن شورتکد به قالب
برای شروع، وارد فایل functions.php قالب فعال وردپرس خود شوید (ترجیحاً child theme برای جلوگیری از حذف در بروزرسانی).
سپس کد زیر را قرار دهید:
function zidar_check_order_status_form() {
ob_start();
if (isset($_POST['zidar_order_id'])) {
$order_id = absint($_POST['zidar_order_id']);
$order = wc_get_order($order_id);
echo '<div class="zidar-order-result">';
if ($order) {
echo '<p><strong>شماره سفارش:</strong> ' . esc_html($order->get_order_number()) . '</p>';
echo '<p><strong>وضعیت:</strong> ' . esc_html(wc_get_order_status_name($order->get_status())) . '</p>';
} else {
echo '<p style="color:red;">سفارشی با این شماره یافت نشد.</p>';
}
echo '</div>';
}
?>
<form method="post" class="zidar-order-status-form" style="display:flex; gap:10px; align-items:center; flex-wrap:wrap;">
<input type="number" name="zidar_order_id" placeholder="شماره سفارش" required style="padding: 6px 10px; font-size: 14px; border: 1px solid #ccc; border-radius: 4px; width: 180px;">
<button type="submit" style="padding: 7px 16px; font-size: 14px; background-color: #28a745; color: white; border: none; border-radius: 4px; cursor: pointer;">بررسی وضعیت</button>
</form>
<?php
return ob_get_clean();
}
add_shortcode('zidar_order_lookup', 'zidar_check_order_status_form');
۲. درج شورتکد در برگه
پس از ذخیره کد بالا، میتوانید شورتکد زیر را در هر برگهای از سایت (مثلاً «پیگیری سفارش» یا «وضعیت خرید») قرار دهید:
csharpCopyEdit[zidar_order_lookup] ۳. ظاهر فرم
این فرم:
یک فیلد عددی دارد برای وارد کردن شماره سفارش
یک دکمهی سبز هماهنگ با رنگ سایت (قابل تنظیم)
فرم در یک ردیف قرار میگیرد (inline)
? سفارشیسازی ظاهر
شما میتوانید رنگ دکمه را با رنگ دکمههای اصلی سایتتان هماهنگ کنید. بهعنوان مثال اگر دکمههای سایتتان آبی هستند، رنگ #28a745 را با #007bff جایگزین کنید.
اگر قصد دارید ظاهر را با CSS جداگانه طراحی کنید، میتوانید کلاس سفارشی برای فرم (.zidar-order-status-form) در فایل style.css قالب اضافه کنید.
? نکته امنیتی (اختیاری)
از آنجایی که کاربر بدون ورود میتواند شماره سفارش وارد کند، ممکن است دیگران بتوانند با حدس زدن شمارهها اطلاعات را ببینند.
برای امنیت بیشتر، میتوانید ایمیل سفارش را نیز بهعنوان تأیید دوم بگیرید:
اضافه کردن یک فیلد ایمیل
بررسی اینکه ایمیل واردشده با ایمیل سفارش مطابقت دارد
من میتونم نسخهای از این فرم رو هم برایت طراحی کنم اگر بخوای.
✅ نتیجهگیری
فرم بررسی وضعیت سفارش با شماره، یک قابلیت ساده ولی بسیار کاربردی است که میتواند هم تجربه کاربری فروشگاه را بهبود بخشد و هم از بار پشتیبانی فروش بکاهد. با چند خط کد ساده، این امکان را میتوانید بدون نصب افزونههای اضافی به سایت خود اضافه کنید.
