اگر شما یکی از مدیران فروشگاههای اینترنتی هستید که از ووکامرس برای مدیریت سفارشات خود استفاده میکنید، شاید به دنبال روشی برای افزودن اطلاعات خاص به هر سفارش باشید. مثلاً، ممکن است بخواهید عددی منحصر به فرد یا متنی خاص به هر سفارش اضافه کنید که بعدها بتوانید در گزارشها یا بازاریابی از آن استفاده کنید. این امر میتواند با استفاده از هوکها در ووکامرس انجام شود.
هوکها در ووکامرس به شما اجازه میدهند که فرآیندها یا کارکردهای خاصی را به صورت خودکار و هوشمند مدیریت کنید. یکی از این هوکها که بسیار کاربردی است، 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();
در نهایت، با ذخیرهسازی، تغییرات اعمال شده به سفارش ذخیره میشوند.