لقد رأينا بالفعل كيفية إخفاء ملاحظات الطلب في صفحة الخروج من WooCommerce . ومع ذلك ، فإن هدفنا هذه المرة هو “نقلهم” – وإزالتهم تحديدًا من موقعهم الافتراضي (ضمن نموذج الشحن) وإضافتهم مرة أخرى ضمن نموذج الفوترة.
كما يمكنك أن تتخيل ، هذا مقتطف مختلط: (1) نزيله (وسنستخدم المقتطف وفقًا للرابط أعلاه) و (2) نقوم بإنشاء حقل فوترة جديد. أخيرًا ، (3) نحتاج أيضًا إلى “حفظ” قيمة الحقل الجديدة هذه في بيانات الحقل المخصصة لملاحظات الطلب الأصلية.
إذا كان من الصعب فهم ذلك ، فلا داعي للقلق – ما عليك سوى نسخ / لصق المقتطف في وظائفك.php وشاهد السحر يحدث. يتمتع!
نقل ملاحظات الطلب من الشحن أدناه إلى نموذج الفاتورة @ WooCommerce Checkout
مقتطف PHP: نقل ملاحظات الطلب @ WooCommerce Checkout
/**
* @snippet Move Order Notes @ WooCommerce Checkout
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 3.9
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
// 1. Hide default notes
add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
// 2. Create new billing field
add_filter( 'woocommerce_checkout_fields' , 'bbloomer_custom_order_notes' );
function bbloomer_custom_order_notes( $fields ) {
$fields['billing']['new_order_notes'] = array(
'type' => 'textarea',
'label' => 'New Order Notes',
'class' => array('form-row-wide'),
'clear' => true,
'priority' => 999,
);
return $fields;
}
// 3. Save to existing order notes
add_action( 'woocommerce_checkout_update_order_meta', 'bbloomer_custom_field_value_to_order_notes', 10, 2 );
function bbloomer_custom_field_value_to_order_notes( $order_id, $data ) {
if ( ! is_object( $order_id ) ) {
$order = wc_get_order( $order_id );
}
$order->set_customer_note( isset( $data['new_order_notes'] ) ? $data['new_order_notes'] : '' );
wc_create_order_note( $order_id, $data['new_order_notes'], true, true );
$order->save();
}
المنشورات ذات الصلة:
WooCommerce: كيفية إضافة حقل مخصص للخروج
WooCommerce: أضف حقل رقم المنزل @ Checkout
WooCommerce: تعيين مدينة الفوترة الافتراضية (أو حقول أخرى) @ Checkout
دليل تخصيص حقول WooCommerce Checkout
WooCommerce: أضف حقل “تأكيد عنوان البريد الإلكتروني” @ Checkout
WooCommerce: تحويل حقل الخروج من العنوان إلى القائمة المنسدلة
WooCommerce: إخفاء حقول فواتير تسجيل الخروج إذا كان Virtual Product @ Cart
WooCommerce: عرض أخطاء الحقول المطلوبة “Inline” @ Checkout
WooCommerce: أعد تسمية تسمية “الولاية” @ Checkout
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 في حالة حدوث خطأ!

