كيفية إضافة وتحرير حالة الطلب المخصص في WooCommerce

نشرت: 2022-05-14

هل تريد إضافة وتعديل حالة الطلب المخصص في WooCommerce؟ يمكن أن تكون مفيدة جدًا لتوفير وضوح أفضل حول حالات الطلبات الخاصة بعملائك.

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

لماذا تضيف وتحرر حالة الطلب المخصص في WooCommerce؟

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

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

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

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

إجمالاً ، لدينا حالات الطلب الافتراضية التالية المتاحة في WooCommerce والتي يمكننا استخدامها بحرية:

  • في انتظار الدفع
  • باءت بالفشل
  • يعالج
  • مكتمل
  • في الانتظار
  • ألغيت
  • معاد

تعتبر حالات الطلب هذه مناسبة تمامًا لأي موقع ويب للتجارة الإلكترونية. إنها أكثر من كافية لما يمكن أن يستخدمه موقع الويب العادي.

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

كيفية إنشاء حالة طلب WooCommerce المخصص؟

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

لذلك ، من أجل تضمين حالة الطلب المخصص لدينا في قائمة الحالة المتاحة ، نحتاج إلى استخدام وظيفة register_post_status() WP المدمجة.

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

1. قم بالوصول إلى ملف jobs.php

لإنشاء وتحرير حالة طلب مخصصة في WooCommerce ، ستحتاج إلى الوصول إلى ملف وظيفة السمة أولاً. أولاً ، انتقل إلى Appearance> Theme File Editor من لوحة معلومات WordPress الخاصة بك. بعد ذلك ، حدد ملف " funtions.php " من ملفات السمات على الجانب الأيمن من الشاشة.

2. قم بإضافة الأكواد إلى ملف function.php

الآن ، انسخ والصق البرنامج النصي التالي في ملف functions.php لموضوع الطفل الخاص بك. سيؤدي هذا إلى إنشاء حالة طلب مخصصة جديدة تسمى "مكالمة قيد الانتظار".

 // تسجيل حالة جديدة
الوظيفة register_wait_call_order_status () {
register_post_status ('wc-waiting-call' ، صفيف (
"تسمية" => "مكالمة قيد الانتظار" ،
'public' => صحيح ،
'show_in_admin_status_list' => صحيح ،
'show_in_admin_all_list' => صحيح ،
'استبعاد_from_search' => خطأ ،
'label_count' => _n_noop ('مكالمة قيد الانتظار (٪ s)'، 'مكالمة قيد الانتظار (٪ s)')
)) ؛
}
// إضافة حالة مخصصة إلى قائمة حالة الطلب
الوظيفة add_wait_call_to_order_statuses ($ order_statuses) {
$ new_order_statuses = array ()؛
foreach ($ order_statuses كـ $ key => $ status) {
$ new_order_statuses [$ key] = الحالة $؛
إذا ('wc-on-Hold' === $ key) {
$ new_order_statuses ['wc-waiting-call'] = 'انتظار المكالمة'؛
}
}
إرجاع $ new_order_statuses؛
}
add_action ('init'، 'register_wait_call_order_status') ؛
add_filter ('wc_order_statuses'، 'add_wait_call_to_order_statuses') ؛

لاحظ أننا نستخدم زوجين من الخطافات هنا. الأول هو wp_init() ويتم استخدامه لتسجيل حالتنا الجديدة. بمجرد تسجيل الحالة ، لن تكون هناك حاجة لهذه الوظيفة بعد الآن ، يمكنك إزالة هذا الخطاف واسترجاع وظيفته بعد الانتهاء.

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

يمكنك رؤية حالة الطلب المخصص الجديد عندما تقوم بتحرير أي من الطلبات من WooCommerce> الطلبات من لوحة معلومات WordPress الخاصة بك. بعد ذلك ، انقر فوق خيار الحالة وسيتم عرض حالة الطلب "Waiting Call" في القائمة المنسدلة.

تحرير حالة الطلب المخصص في woocommerce إنشاء حالة طلب مخصصة

قم بتحرير حالة أمر موجود على WooCommerce

يمكننا أيضًا استخدام نفس أداة ربط المرشح التي شوهدت في نموذج البرنامج النصي السابق wc_order_statuses() لتغيير اسم حالة الطلب الحالي.

سيعمل نموذج الكود التالي على تعديل إحصائيتين للطلب: "قيد المعالجة" و "مكتمل" ، وتغييرهما إلى "قيد التقدم" و "تم التسليم":

 الوظيفة QuadLayers_rename_status ($ order_statuses) {
foreach ($ order_statuses كـ $ key => $ status) {
إذا ('wc-Processing' === $ key) {
$ order_statuses ['wc-Processing'] = _x ("قيد التقدم"، "حالة الطلب"، "woocommerce")؛
}
إذا ('wc-complete' === $ key) {
$ order_statuses ['wc-complete'] = _x ('Delivered'، 'Order status'، 'woocommerce')؛
}
}
إرجاع order_statuses دولار؛
}
add_filter ('wc_order_statuses'، 'QuadLayers_rename_status') ؛

لا تنس تحديث الملف بعد إضافة الرموز إليه.

هذا هو! هذه هي الطريقة التي يمكنك من خلالها تعديل حالة الطلب الموجودة أو المخصصة على موقع WooCommerce الخاص بك.

تحرير حالة الطلب المخصص في woocommerce إعادة تسمية حالة الطلب woocommerce

قم بإزالة حالة الطلب في WooCommerce

مرة أخرى ، سيكون wc_order_statuses() مفيدًا لإزالة حالة طلب معينة. في هذه الحالة ، نحن بصدد إزالة حالة الطلب "المسترد".

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

 الوظيفة QuadLayers_remove_status ($ statuses) {
if (isset ($ statuses ['wc-refunded'])) {
unset (الحالات $ ['wc-refunded']) ؛
}
إرجاع الأوضاع $؛
}
add_filter ('wc_order_statuses'، 'QuadLayers_remove_status') ؛

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

خاتمة

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

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

فهل حاولت تعديل وإضافة حالات الطلب على موقع الويب الخاص بك؟ لو سمحتوا دعونا نعرف في التعليقات.

في غضون ذلك ، لا تتردد في إلقاء نظرة على المزيد من منشوراتنا التي قد تكون مفيدة لك:

  • كيفية إنشاء ملحق WordPress مخصص
  • أفضل ملحقات WooCommerce لتكرار الطلبات
  • كيفية إضافة الرسوم إلى WooCommerce Checkout