كيفية الموافقة التلقائية على الطلبات في WooCommerce

نشرت: 2020-09-25

أوامر الموافقة التلقائية WooCommerce إذا كنت تدير متجرًا للتجارة الإلكترونية ، فأنت تدرك أن الموقع يتطلب تتبع الطلبات وإدارتها. ومع ذلك ، يمكن أن تكون هذه مهمة شاقة للمسؤول ، خاصةً إذا كان متجرك عبر الإنترنت يجمع حركة مرور عالية ، مما ينتج عنه عدد كبير من الطلبات في يوم واحد.

بالإضافة إلى ذلك ، أنت تعلم أنه يتم إنشاء طلب بمجرد اكتمال عملية الدفع. يتم تعيين حالة للأمر وفقًا لمكان وجود الأمر في سلسلة الدفع حتى التسليم.

علاوة على ذلك ، يتم تعيين الحالات أو تغييرها بواسطة WooCommerce وبوابة الدفع ومسؤول المتجر اعتمادًا على مكان بدء الطلب.

بعد اكتمال السداد لأمر ما إذا لم يقم المستخدم بتحديد خيار الدفع عند الاستلام. عند اكتمال الطلب ، يتم تعيين حالته على "قيد المعالجة" حتى يغيره مالك المتجر يدويًا إلى "مكتمل". ستكون هذه مهمة شاقة لمالك المتجر أو المسؤول.

أوامر الموافقة التلقائية WooCommerce

في هذا البرنامج التعليمي المختصر ، سأشارك معك رمز PHP مخصص سيساعدك على تعيين حالة الطلب تلقائيًا على أنها مكتملة كلما تم إجراء الدفع بنجاح. هذا يعني أنه حتى إذا حدد المستخدم خيار الدفع عند الاستلام ، فإن حالة الطلب ستتغير تلقائيًا إلى مكتمل.

علاوة على ذلك ، سوف أشاركك أيضًا الحل الذي سيعمل تلقائيًا على تعيين حالة طلب WooCommerce على أنها مكتملة للمنتجات الافتراضية. هذه المنتجات غير ملموسة أو قابلة للتنزيل.

هذا لأن اشتراك العضوية قد لا يكون له شكل ملموس ولكن بدلاً من ذلك تاريخ انتهاء الصلاحية. إذا كنت تتعامل مع منتجات قابلة للتنزيل ، فلا يجب تضمين خيار الدفع عند الاستلام ، ولكن بدلاً من ذلك ، يجب إضافة شرط فقط للتحقق مما إذا كانت جميع المنتجات في الطلب افتراضية.

الآن بعد أن عرفت كيف يتم تعيين حالات الطلب ، فإليك دليل مفصل حول كيفية:

  • قم بتعيين حالة طلب WooCommerce تلقائيًا على أنها مكتملة بناءً على طريقة الدفع.
  • قم بتعيين حالة طلب WooCommerce تلقائيًا على أنها مكتملة للمنتجات الافتراضية.

أ) خطوات التعيين التلقائي لحالة طلب WooCommerce على أنها مكتملة بناءً على طريقة الدفع

فيما يلي الخطوات البسيطة التي يجب عليك اتباعها:

  1. قم بتسجيل الدخول إلى موقع WordPress الخاص بك والوصول إلى لوحة التحكم بصفتك المستخدم المسؤول.
  2. من قائمة لوحة التحكم ، انقر فوق قائمة المظهر> قائمة محرر السمات . عند فتح صفحة Theme Editor ، ابحث عن ملف وظائف السمة حيث سنضيف الوظيفة التي ستقوم تلقائيًا بتعيين حالة طلب woocommerce على أنها مكتملة بناءً على طريقة الدفع.
  3. أضف الكود التالي إلى ملف php :
 / **

Snippet لتعيين حالة طلب woocommerce تلقائيًا على أنها مكتملة بناءً على طريقة الدفع

* /

add_action ('woocommerce_order_status_changed'، 'njengah_auto_complete_by_payment_method') ؛

الوظيفة njengah_auto_complete_by_payment_method ($ order_id)

{

إذا (! $ order_id) {

إرجاع؛

}

منتج $ عالمي؛

الطلب بالدولار = wc_get_order ($ order_id) ؛

if ($ order-> data ['status'] == 'Processing') {

طريقة الدفع بالدولار = الطلب بالدولار -> get_payment_method () ؛

إذا ($ payment_method! = "bacs")

{

order-> update_status ("مكتمل") ؛

}

}

}
  1. لمعرفة النتيجة ، توجه إلى لوحة معلومات WordPress وانقر على WooCommerce> الطلبات . سترى أنه تم تعيين الطلب على مكتمل كما هو موضح أدناه: أمر معتمد

كيف تعمل المدونة

في الكود أعلاه ، استخدمت الخطاف woocommerce_order_status_changed لاستدعاء وظيفة عند تغيير حالة الطلب. يتحقق مما إذا كان الطلب له حالة المعالجة ويغيره إلى مكتمل.

بشكل افتراضي ، لدى WooCommerce أربع طرق دفع افتراضية ، وهي التحويل المصرفي المباشر (bacs) ، والشيكات (الشيكات) ، والدفع نقدًا عند التسليم (cod) ، و PayPal (PayPal). ومع ذلك ، تحتاج إلى تحديد طريقة الدفع التي تحدد شرطها.

ب) خطوات لتعيين حالة طلب WooCommerce تلقائيًا على أنها مكتملة للمنتجات الافتراضية

منتج قابل للتنزيل: طلبات الموافقة التلقائية WooCommerce فيما يلي الخطوات التي يجب عليك اتباعها:

  1. قم بتسجيل الدخول إلى موقع WordPress الخاص بك والوصول إلى لوحة التحكم بصفتك المستخدم المسؤول.
  2. من قائمة لوحة التحكم ، انقر فوق قائمة المظهر> قائمة محرر السمات . عند فتح صفحة Theme Editor ، ابحث عن ملف وظائف السمة حيث سنضيف الوظيفة التي ستقوم تلقائيًا بتعيين حالة طلب woocommerce على أنها مكتملة للمنتجات الافتراضية.
  3. أضف الكود التالي إلى ملف php :
 / **

Snippet لتعيين حالة طلب woocommerce تلقائيًا على أنها مكتملة للمنتجات الافتراضية

* /

add_action ('woocommerce_order_status_changed'، 'njengah_auto_complete_virtual') ؛

دالة njengah_auto_complete_virtual ($ order_id)

{

إذا (! $ order_id) {

إرجاع؛

}

منتج $ عالمي؛

الطلب بالدولار = wc_get_order ($ order_id) ؛

if ($ order-> data ['status'] == 'Processing') {

$ virtual_order = null؛

إذا (count ($ order-> get_items ())> 0) {

foreach ($ order-> get_items () كـ $ item) {

إذا ('line_item' == $ item ['type']) {

$ _product = $ Order-> get_product_from_item ($ item) ؛

إذا (! $ _product-> is_virtual ()) {

// بمجرد أن نجد منتجًا غير افتراضي واحد ، اخرج من الحلقة

$ virtual_order = خطأ ؛

فترة راحة؛

}

آخر {

$ virtual_order = صحيح ؛

}

}

}

}




// إذا كانت جميعها منتجات افتراضية ، فضع علامة على أنها مكتملة

إذا (virtual_order $) {

order-> update_status ("مكتمل") ؛

}

}

}

  1. ستكون النتيجة مماثلة للمثال الأول ، حيث سيتم تعيين الطلب تلقائيًا على أنه مكتمل .

كيف تعمل المدونة

في الكود أعلاه ، استخدمت نفس الخطاف لاستدعاء الوظيفة njengah_auto_complete_virtual. بعد أن يتحقق مما إذا كان في حالة معالجة ، ينتقل الرمز عبر كل عنصر بالترتيب لمعرفة ما إذا كان هناك منتج افتراضي.

يشير line_item إلى المنتج ، ولا يلزم جلب سوى المنتجات واحدة تلو الأخرى للتحقق مما إذا كانت افتراضية. إذا لم يكن هناك منتج افتراضي ، فلن يتم وضع علامة على حالة الطلب على أنها مكتملة.

استنتاج

في هذا البرنامج التعليمي الموجز ، شاركت كيف يمكنك تعيين حالة طلب WooCommerce تلقائيًا على أنها مكتملة. لقد قمت بذلك بناءً على طريقة الدفع والمنتجات الافتراضية.

ومع ذلك ، بناءً على المتطلبات التي تحتاجها لمتجرك ، باستخدام مقتطف الرمز الأول ، يمكنك إضافة المزيد من الشروط لتمييز حالة الطلب على أنها مكتملة. على سبيل المثال ، إذا تم السداد ، فيمكنك وضع علامة على حالة الطلب على أنها مكتملة حتى بالنسبة للمنتجات غير الافتراضية عن طريق إضافة شيك على طريقة الدفع بعد التحقق مما إذا كان منتجًا افتراضيًا.

ومع ذلك ، من خلال مقتطف الشفرة هذا ، سيتم تعيين حالة الطلب على أنها مكتملة فقط إذا كانت جميع المنتجات في الطلب منتجات افتراضية. آمل أن يكون هذا المنشور قد قدم حلاً للموافقة التلقائية على الطلبات في WooCommerce.

مقالات مماثلة