تنتقل جميع أوامر WooCommerce إما إلى “المعالجة” و “المكتملة” و “قيد الانتظار” وحالات الطلبات الافتراضية الأخرى استنادًا إلى طريقة الدفع ونوع المنتج.
في بعض الأحيان هذه الحالات لا تكفي. على سبيل المثال ، قد تحتاج إلى تمييز طلبات معينة بطريقة مختلفة للتتبع والتصفية والتصدير. أو قد ترغب في تعطيل رسائل البريد الإلكتروني الافتراضية عن طريق تجاوز تغييرات حالة الطلب الافتراضية.
في كلتا الحالتين ، يعد تعيين حالة أمر مخصص تلقائيًا بمجرد معالجة الطلب أمرًا سهلاً للغاية. واليوم سنرى مقتطفات PHP التي تحتاجها لإنجاز هذا العمل!
WooCommerce: قم بتعيين حالة طلب مخصص أثناء الخروج
مقتطف PHP: قم بتعيين حالة طلب مخصص أثناء عملية تسجيل الخروج من WooCommerce
/**
* @snippet Set Custom Order Status during Checkout
* @how-to Get CustomizeWoo.com FREE
* @sourcecode https://businessbloomer.com/?p=77911
* @author Rodolfo Melogli
* @compatible WooCommerce 3.5.4
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
// ---------------------
// 1. Register Order Status
add_filter( 'woocommerce_register_shop_order_post_statuses', 'bbloomer_register_custom_order_status' );
function bbloomer_register_custom_order_status( $order_statuses ){
// Status must start with "wc-"
$order_statuses['wc-custom-status'] = array(
'label' => _x( 'Custom Status', 'Order status', 'woocommerce' ),
'public' => false,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Custom Status <span class="count">(%s)</span>', 'Custom Status <span class="count">(%s)</span>', 'woocommerce' ),
);
return $order_statuses;
}
// ---------------------
// 2. Show Order Status in the Dropdown @ Single Order and "Bulk Actions" @ Orders
add_filter( 'wc_order_statuses', 'bbloomer_show_custom_order_status' );
function bbloomer_show_custom_order_status( $order_statuses ) {
$order_statuses['wc-custom-status'] = _x( 'Custom Status', 'Order status', 'woocommerce' );
return $order_statuses;
}
add_filter( 'bulk_actions-edit-shop_order', 'bbloomer_get_custom_order_status_bulk' );
function bbloomer_get_custom_order_status_bulk( $bulk_actions ) {
// Note: "mark_" must be there instead of "wc"
$bulk_actions['mark_custom-status'] = 'Change status to custom status';
return $bulk_actions;
}
// ---------------------
// 3. Set Custom Order Status @ WooCommerce Checkout Process
add_action( 'woocommerce_thankyou', 'bbloomer_thankyou_change_order_status' );
function bbloomer_thankyou_change_order_status( $order_id ){
if( ! $order_id ) return;
$order = wc_get_order( $order_id );
// Status without the "wc-" prefix
$order->update_status( 'custom-status' );
}
المنشورات ذات الصلة:
WooCommerce: تحديث Meta للمستخدم بعد طلب ناجح
WooCommerce: قم بتحديث قيمة حقل الطلب بعد نجاح الطلب
WooCommerce: قصر الشحن على دولة واحدة فقط
WooCommerce: قصر القوائم المنسدلة للولاية على ولاية واحدة فقط
WooCommerce: عرض إجمالي الخصم / التوفير في سلة التسوق والدفع
WooCommerce: تعيين مدينة الفوترة الافتراضية (أو حقول أخرى) @ Checkout
WooCommerce: الشحن فقط إلى عناوين “الاستلام المحلية” المحددة مسبقًا
WooCommerce: تحرير “عودة الزبون؟” رسالة @ الخروج
WooCommerce: مستخدم معفي من الضرائب بناءً على قيمة حقل الخروج
WooCommerce: Maxlength و Minlength لحقول الخروج
أين تضيف هذا المقتطف؟
يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”
هل هذا المقتطف (لا يزال) يعمل؟
يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.
إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂
هل تحتاج إلى مساعدة في WooCommerce؟
تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!

