چگونگی افزودن اطلاعات متا به سفارشات ووکامرس با هوک woocommerce_new_order

how to add meta data to woocommerce orders using woocommerce new order hook
20 آبان 1403

اگر شما یکی از مدیران فروشگاه‌های اینترنتی هستید که از ووکامرس برای مدیریت سفارشات خود استفاده می‌کنید، شاید به دنبال روشی برای افزودن اطلاعات خاص به هر سفارش باشید. مثلاً، ممکن است بخواهید عددی منحصر به فرد یا متنی خاص به هر سفارش اضافه کنید که بعدها بتوانید در گزارش‌ها یا بازاریابی از آن استفاده کنید. این امر می‌تواند با استفاده از هوک‌ها در ووکامرس انجام شود.

هوک‌ها در ووکامرس به شما اجازه می‌دهند که فرآیندها یا کارکردهای خاصی را به صورت خودکار و هوشمند مدیریت کنید. یکی از این هوک‌ها که بسیار کاربردی است، woocommerce_new_order نام دارد. شما می‌توانید این هوک را برای اعمال تغییرات خاصی زمانی که یک سفارش جدید ایجاد می‌شود، استفاده کنید.

در این مطلب، ما به نحوه افزودن اطلاعات متا به سفارشات جدید با استفاده از این هوک خواهیم پرداخت. ابتدا نیاز است که یک تابع سفارشی ساخته و سپس آن تابع را با استفاده از این هوک به ووکامرس متصل کنید. این روش به شما امکان می‌دهد تا اطلاعات اضافی مثل نوع حمل و نقل یا حتی تاریخ ارسال پیش‌بینی‌شده را به اطلاعات سفارش اضافه کنید.

کد نمونه برای افزودن اطلاعات متا

در اینجا کدی نمونه می‌آوریم که نشان می‌دهد چگونه می‌توانید اطلاعات متا را به سفارشات اضافه کنید:


add_action('woocommerce_new_order', 'add_custom_meta_to_order', 10, 1);

function add_custom_meta_to_order($order_id) {
if (!$order_id) return;

// اینجا می‌توانید اطلاعات متای جدید خود را اضافه کنید
$order = wc_get_order($order_id);
$order->update_meta_data('custom_meta_key', 'custom_meta_value');
$order->save();
}

شرح خط به خط کد

add_action('woocommerce_new_order', 'add_custom_meta_to_order', 10, 1);
از این خط برای اتصال تابع سفارشی خود به هوک woocommerce_new_order استفاده می‌کنید. این هوک زمانی فراخوانی می‌شود که یک سفارش جدید در ووکامرس ایجاد می‌شود.
function add_custom_meta_to_order($order_id) {
این خط تابعی به نام add_custom_meta_to_order تعریف می‌کند که مقدار order_id را به عنوان ورودی می‌پذیرد.
if (!$order_id) return;
این شرط بررسی می‌کند که اگر شناسه سفارش معتبر نیست، تابع پایان یابد.
$order = wc_get_order($order_id);
با استفاده از این خط، شیء order مربوط به شناسه سفارش دریافت می‌شود.
$order->update_meta_data('custom_meta_key', 'custom_meta_value');
این خط اطلاعات متا جدید را به سفارش اضافه می‌کند. در این مثال، 'custom_meta_key' نام کلید و 'custom_meta_value' مقدار متا است.
$order->save();
در نهایت، با ذخیره‌سازی، تغییرات اعمال شده به سفارش ذخیره می‌شوند.

سوالات متداول

؟

چرا باید از اطلاعات متا در سفارشات استفاده کنم؟

؟

آیا افزودن اطلاعات متا به سفارشات می‌تواند بر عملکرد سایت من تأثیر بگذارد؟

؟

آیا می‌توانم اطلاعات متا را پس از ایجاد سفارش تغییر دهم؟

؟

آیا اطلاعات متا در گزارش‌های ووکامرس قابل استفاده است؟