أخبرني عميل من شمال أوروبا أنهم صارمون حقًا بشأن عناوين الفوترة والشحن هناك. عادةً ما يطلب الناقلون “رقم المنزل” المنفصل لإرسال الطرود داخل تلك البلدان.
لذلك يجب وضع هذا عند الخروج ، بجانب حقل “Address_1” وجعله مطلوبًا. أيضًا ، من المستحسن إجراء هذا العرض في طلب المسؤول ، صفحة الشكر وإشعارات البريد الإلكتروني.
أضف رقم المنزل في WooCommerce Checkout
أضف رقم المنزل في WooCommerce Checkout
قبل الترميز …
إذا كنت لا تستخدم حقل “Address_2” ، فلن تحتاج إلى أي تخصيص! ما عليك سوى تمكين هذا الحقل وجعله مطلوبًا عبر وورد بريس> Customize> WooCommerce> Checkout> Address 2 Field.
كل ما تحتاجه متاح لك الآن. إذا كنت تحتاج حقًا إلى القليل من التخصيص ، فقد يكون ذلك مرتبطًا بالعناصر النائبة للحقل “العنوان 1” و “العنوان 2”. لتعديلها وإعادة تسميتها ، استخدم هذا المقتطف.
مقتطف PHP 1: تحرير عنوان الحقول Placeholder @ WooCommerce Checkout Billing / Shipping
/**
* @snippet Rename Address 1 & 2 Placeholder | WooCommerce Checkout
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @testedwith WooCommerce 3.8
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'woocommerce_default_address_fields' , 'bbloomer_rename_address_placeholders_checkout', 9999 );
function bbloomer_rename_address_placeholders_checkout( $address_fields ) {
$address_fields['address_1']['placeholder'] = 'House Number';
$address_fields['address_2']['placeholder'] = 'Street Name';
return $address_fields;
}
مقتطف PHP: أضف رقم المنزل @ WooCommerce Checkout Billing / Shipping
على الطرف الآخر ، إذا كنت بحاجة إلى حقل منفصل وجديد (لأنك تستخدم بالفعل “العنوان 1” و “العنوان 2” وتحتاج إلى حقل “رقم المنزل” الجديد) ، فعليك النظر في هذا التخصيص.
/**
* @snippet Add House Number to WooCommerce Checkout
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 3.8
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'woocommerce_checkout_fields' , 'bbloomer_add_field_and_reorder_fields' );
function bbloomer_add_field_and_reorder_fields( $fields ) {
// Add New Fields
$fields['billing']['billing_houseno'] = array(
'label' => 'House Number',
'placeholder' => 'House Number',
'priority' => 51,
'required' => true,
'clear' => true
);
$fields['shipping']['shipping_houseno'] = array(
'label' => 'House Number',
'placeholder' => 'House Number',
'priority' => 51,
'required' => true,
'clear' => true
);
return $fields;
}
// ------------------------------------
// Add Billing House # to Address Fields
add_filter( 'woocommerce_order_formatted_billing_address' , 'bbloomer_default_billing_address_fields', 10, 2 );
function bbloomer_default_billing_address_fields( $fields, $order ) {
$fields['billing_houseno'] = get_post_meta( $order->get_id(), '_billing_houseno', true );
return $fields;
}
// ------------------------------------
// Add Shipping House # to Address Fields
add_filter( 'woocommerce_order_formatted_shipping_address' , 'bbloomer_default_shipping_address_fields', 10, 2 );
function bbloomer_default_shipping_address_fields( $fields, $order ) {
$fields['shipping_houseno'] = get_post_meta( $order->get_id(), '_shipping_houseno', true );
return $fields;
}
// ------------------------------------
// Create 'replacements' for new Address Fields
add_filter( 'woocommerce_formatted_address_replacements', 'add_new_replacement_fields',10,2 );
function add_new_replacement_fields( $replacements, $address ) {
$replacements['{billing_houseno}'] = isset($address['billing_houseno']) ? $address['billing_houseno'] : '';
$replacements['{shipping_houseno}'] = isset($address['shipping_houseno']) ? $address['shipping_houseno'] : '';
return $replacements;
}
// ------------------------------------
// Show Shipping & Billing House # for different countries
add_filter( 'woocommerce_localisation_address_formats', 'bbloomer_new_address_formats' );
function bbloomer_new_address_formats( $formats ) {
$formats['IE'] = "{name}\n{company}\n{address_1}\n{billing_houseno}\n{shipping_houseno}\n{city}\n{state}\n{postcode}\n{country}";
$formats['UK'] = "{name}\n{company}\n{address_1}\n{billing_houseno}\n{shipping_houseno}\n{city}\n{state}\n{postcode}\n{country}";
// and so on...
return $formats;
}
المنشورات ذات الصلة:
WooCommerce: أضف هاتف الشحن @ Checkout
WooCommerce: إخفاء أسعار الشحن في حالة توفر الشحن المجاني
WooCommerce: قصر الشحن على دولة واحدة فقط
WooCommerce: أضف إشعارات الشحن على صفحة الخروج
WooCommerce: تم فتح “الشحن إلى عنوان مختلف” افتراضيًا
دليل تخصيص حقول WooCommerce Checkout
WooCommerce: أضف حقل “تأكيد عنوان البريد الإلكتروني” @ Checkout
WooCommerce: تحويل حقل الخروج من العنوان إلى القائمة المنسدلة
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 في حالة حدوث خطأ!