لدي فضول لمعرفة عدد الأشخاص الذين لديهم نفس المشكلة. عند الخروج من WooCommerce ، يتم حفظ بعض حقول المستخدم مثل billing_name و shipping_address_1 وما إلى ذلك تلقائيًا في “ملف تعريف مستخدم وورد بريس” عند المعالجة.
ولكن ماذا لو أردنا أيضًا عرض حقل مستخدم موجود آخر وحفظه ، مثل “user_twitter” أو “user_url” ، والذي يمكنك العثور عليه افتراضيًا في ملف تعريف مستخدم WP؟ حسنًا ، هذا سهل للغاية: أولاً ، نضيف حقل تسجيل خروج مخصص ؛ بعد ذلك ، نتأكد من أنه عند معالجة الخروج ، نحفظ هذا الحقل بشكل صحيح!
عرض وحفظ حقل مستخدم وورد بريس افتراضي عبر WooCommerce Checkout
مقتطف PHP: إظهار حقل مستخدم وورد بريس وحفظه عند تسجيل الخروج من WooCommerce
/**
* @snippet Display & Save WP User Field @ Checkout - WooCommerce
* @how-to Get CustomizeWoo.com FREE
* @sourcecode https://businessbloomer.com/?p=21737
* @author Rodolfo Melogli
* @compatible WC 3.5.1
*/
// ------------------------
// 1. Display field @ Checkout
add_action( 'woocommerce_after_checkout_billing_form', 'bbloomer_add_user_field_to_checkout' );
function bbloomer_add_user_field_to_checkout( $checkout ) {
$current_user = wp_get_current_user();
$saved_url = $current_user->user_url;
woocommerce_form_field( 'user_url', array(
'type' => 'text',
'class' => array('user_url form-row-wide'),
'label' => __('Website URL'),
'placeholder' => __('https://yoursite.com'),
'required' => false
),
$saved_url );
}
// ------------------------
// 2. Save Field Into User Meta
add_action( 'woocommerce_checkout_update_user_meta', 'bbloomer_checkout_field_update_user_meta' );
function bbloomer_checkout_field_update_user_meta( $user_id ) {
if ( $user_id && $_POST['user_url'] ) {
// once again, use "user_url"
$args = array(
'ID' => $user_id,
'user_url' => esc_attr( $_POST['user_url'] )
);
wp_update_user( $args );
}
}
المنشورات ذات الصلة:
WooCommerce: قصر الشحن على دولة واحدة فقط
WooCommerce: Get / Edit Logged in Username @ Checkout
WooCommerce: قصر القوائم المنسدلة للولاية على ولاية واحدة فقط
WooCommerce: عرض إجمالي الخصم / التوفير في سلة التسوق والدفع
WooCommerce: تعيين مدينة الفوترة الافتراضية (أو حقول أخرى) @ Checkout
WooCommerce: الشحن فقط إلى عناوين “الاستلام المحلية” المحددة مسبقًا
WooCommerce: تحرير “عودة الزبون؟” رسالة @ الخروج
WooCommerce: تحديث Meta للمستخدم بعد طلب ناجح
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 في حالة حدوث خطأ!