وضعیت سفارش سفارشی WooCommerce را برای وردپرس ایجاد کنید
WooCommerce یک افزونه وردپرس عالی برای فروش آنلاین محصولات است. و امروز می خواهم به شما نشان دهم که چگونه افزونه ایجاد کنید تا به شما امکان ایجاد وضعیت سفارش سفارشی را بدهد. به طور پیش فرض WooCommerce این وضعیت های سفارش را ارائه می دهد:
- لغو شد
- تکمیل شد
- شکست خورد
- در انتظار
- در انتظار
- در حال پردازش
- بازپرداخت
اما اگر میخواهید وضعیتهای جدیدی اضافه کنید، یا شاید وضعیتهای موجود را تغییر دهید، چه؟ در زیر یک مثال به شما نشان می دهد که چقدر آسان است که یک وضعیت سفارش جدید به سفارشات WooCommerce خود اضافه کنید.
از نظر بصری نتیجه نهایی اینجاست:
وضعیت سفارش جدید WooCommerce را ثبت کنید
قبلاً WooCommerce از طبقهبندی “shop_order_status” استفاده میکرد، بنابراین افزودن وضعیتهای سفارش جدید کمی مشکل بود، با این حال، اکنون آسانتر از همیشه است! برای مثال به کد زیر نگاهی بیندازید.
// ثبت وضعیت سفارش جدید
تابع wpex_wc_register_post_statuses() {
register_post_status('wc-custom-order-status', array(
'label' => _x( 'نام وضعیت سفارش سفارشی'، 'وضعیت سفارش WooCommerce'، 'text_domain')،
'عمومی' => درست است،
'exclude_from_search' => نادرست،
'show_in_admin_all_list' => درست است،
'show_in_admin_status_list' => درست است،
'label_count' => _n_noop( 'تأیید شده (%s)'، 'تأیید شده (%s)'، 'text_domain' )
)))
}
add_filter('init', 'wpex_wc_register_post_statuses');
// اضافه کردن وضعیت سفارش جدید به WooCommerce
تابع wpex_wc_add_order_statuses($order_statuses) {
$order_statuses['wc-custom-order-status'] = _x( 'نام وضعیت سفارش سفارشی', 'وضعیت سفارش WooCommerce', 'text_domain' );
بازگشت $order_statuses;
}
add_filter('wc_order_statuses', 'wpex_wc_add_order_statuses');
اگر میخواهید چندین وضعیت سفارش جدید اضافه کنید، کافی است تابع register_post_status را در داخل تابع wpex_wc_register_post_statuses هر چند بار که میخواهید تکرار کنید، مطمئن شوید که شناسه و برچسبها را متناسب با آن تغییر میدهید. سپس وضعیت سفارش جدید را به آرایه $order_statuses در تابع wpex_wc_add_order_statuses اضافه کنید.