لقد رأينا بالفعل كيفية تحديث meta للمستخدم بعد نجاح الطلب ، ولكن هدفنا هذه المرة هو “تصحيح” أو “تحرير” قيمة حقل الخروج بعد تقديم الطلب.
يمكنك على سبيل المثال إضافة بادئة رقم هاتف إذا لم تكن موجودة ، ومن خلال القيام بذلك ، قم بتصحيح رقم الهاتف قبل إرساله إلى شركة الشحن الخاصة بك. وبالمثل ، يمكنك إزالة علامات الترقيم ، وتقليم المسافات ، وعلامات التنسيق ، والقيام بأي معالجة تريدها في أي حقل طلب.
لذا ، إليكم كيف يفعلون ذلك. يتمتع!
إليك طلب اختبار حيث لم يتم إدخال الهاتف بالبادئة الإيطالية (+39). سيغير المقتطف أدناه هذا الحقل عند الخروج ، ويجب أن تعرض هذه الشاشة رقم الهاتف مع رمز البلد.
مقتطف PHP: قم بتغيير قيمة حقل الطلب بعد تقديم الطلب @ WooCommerce Checkout
في هذا المثال ، سنرى كيفية إعادة تنسيق رقم الهاتف الذي تم إدخاله أثناء الخروج ، عن طريق إضافة بادئة إذا لم تكن موجودة. ستتعرف أيضًا على وظيفة get_country_calling_code () WooCommerce المفيدة ، والتي من الجيد معرفتها!
/**
* @snippet Update Order Meta After a Successful Order - WooCommerce
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 4.6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_action( 'woocommerce_thankyou', 'bbloomer_alter_checkout_fields_after_order' );
function bbloomer_alter_checkout_fields_after_order( $order_id ) {
$order = wc_get_order( $order_id );
$phone = $order->get_billing_phone();
$calling_code = WC()->countries->get_country_calling_code( $order->get_billing_country() );
$calling_code = is_array( $calling_code ) ? $calling_code[0] : $calling_code;
if ( $phone && $calling_code && ! str_starts_with( $phone, $calling_code ) ) {
// str_starts_with() works on PHP 8+ only
$phone = $calling_code . $phone;
update_post_meta( $order_id, '_billing_phone', $phone );
}
}
المنشورات ذات الصلة:
WooCommerce: تحديث Meta للمستخدم بعد طلب ناجح
WooCommerce: عيّن حالة الطلب المخصص للأوامر الجديدة
WooCommerce: قصر الشحن على دولة واحدة فقط
WooCommerce: Get / Edit Logged in Username @ Checkout
WooCommerce: قصر القوائم المنسدلة للولاية على ولاية واحدة فقط
WooCommerce: عرض إجمالي الخصم / التوفير في سلة التسوق والدفع
WooCommerce: تعيين مدينة الفوترة الافتراضية (أو حقول أخرى) @ Checkout
WooCommerce: الشحن فقط إلى عناوين “الاستلام المحلية” المحددة مسبقًا
WooCommerce: تحرير “عودة الزبون؟” رسالة @ الخروج
WooCommerce: مستخدم معفي من الضرائب بناءً على قيمة حقل الخروج
أين تضيف هذا المقتطف؟
يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”
هل هذا المقتطف (لا يزال) يعمل؟
يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.
إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂
هل تحتاج إلى مساعدة في WooCommerce؟
تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!

