WooCommerce: أضف حقل تحديد إلى نموذج تسجيل “حسابي”

A VPN is an essential component of IT security, whether you’re just starting a business or are already up and running. Most business interactions and transactions happen online and VPN

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

WooCommerce: أضف مربع اختيار @ نموذج تسجيل حسابي

مقتطف PHP: أضف حقل تحديد إلى نموذج تسجيل “حسابي” | كتب مريم الدخيل لاكاديمية الثراء

/**
 * @snippet       Add Select Field to "My Account" Register Form | WooCommerce
 * @how-to        Get CustomizeWoo.com FREE
 * @sourcecode    https://businessbloomer.com/?p=72508
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 3.5.7
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
  
// -------------------
// 1. Show field @ My Account Registration
  
add_action( 'woocommerce_register_form', 'bbloomer_extra_register_select_field' );
  
function bbloomer_extra_register_select_field() {
    
    ?>
  
<p class="form-row form-row-wide">
<label for="find_where"><?php _e( 'Where did you find us?', 'woocommerce' ); ?>  <span class="required">*</span></label>
<select name="find_where" id="find_where" />
    <option value="goo">Google</option>
    <option value="fcb">Facebook</option>
    <option value="twt">Twitter</option>
</select>
</p>
  
<?php
    
}
  
// -------------------
// 2. Save field on Customer Created action
  
add_action( 'woocommerce_created_customer', 'bbloomer_save_extra_register_select_field' );
   
function bbloomer_save_extra_register_select_field( $customer_id ) {
if ( isset( $_POST['find_where'] ) ) {
        update_user_meta( $customer_id, 'find_where', $_POST['find_where'] );
}
}
  
// -------------------
// 3. Display Select Field @ User Profile (admin) and My Account Edit page (front end)
   
add_action( 'show_user_profile', 'bbloomer_show_extra_register_select_field', 30 );
add_action( 'edit_user_profile', 'bbloomer_show_extra_register_select_field', 30 ); 
add_action( 'woocommerce_edit_account_form', 'bbloomer_show_extra_register_select_field', 30 );
   
function bbloomer_show_extra_register_select_field($user){ 
    
  if (empty ($user) ) {
  $user_id = get_current_user_id();
  $user = get_userdata( $user_id );
  }
    
?>    
        
<p class="form-row form-row-wide">
<label for=""><?php _e( 'Where did you find us?', 'woocommerce' ); ?>  <span class="required">*</span></label>
<select name="find_where" id="find_where" />
    <option disabled value> -- select an option -- </option>
    <option value="goo" <?php if (get_the_author_meta( 'find_where', $user->ID ) == "goo") echo 'selected="selected" '; ?>>Google</option>
    <option value="fcb" <?php if (get_the_author_meta( 'find_where', $user->ID ) == "fcb") echo 'selected="selected" '; ?>>Facebook</option>
    <option value="twt" <?php if (get_the_author_meta( 'find_where', $user->ID ) == "twt") echo 'selected="selected" '; ?>>Twitter</option>
</select>
</p>
  
<?php
  
}
  
// -------------------
// 4. Save User Field When Changed From the Admin/Front End Forms
   
add_action( 'personal_options_update', 'bbloomer_save_extra_register_select_field_admin' );    
add_action( 'edit_user_profile_update', 'bbloomer_save_extra_register_select_field_admin' );   
add_action( 'woocommerce_save_account_details', 'bbloomer_save_extra_register_select_field_admin' );
   
function bbloomer_save_extra_register_select_field_admin( $customer_id ){
if ( isset( $_POST['find_where'] ) ) {
   update_user_meta( $customer_id, 'find_where', $_POST['find_where'] );
}
}

المنشورات ذات الصلة:

WooCommerce: أضف علامة تبويب جديدة @ صفحة حسابي

WooCommerce: أضف الاسم الأول والأخير إلى نموذج تسجيل حسابي

WooCommerce: تغيير دور المستخدم للعملاء الجدد

WooCommerce: أضف الموافقة على سياسة الخصوصية @ تسجيل حسابي

WooCommerce: صفحات منفصلة لتسجيل الدخول والتسجيل

WooCommerce: السماح للمستخدمين بتعديل أوامر المعالجة

WooCommerce: رفض تسجيل الدخول التلقائي عند التسجيل في حسابي

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 في حالة حدوث خطأ!

توضيح

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

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

شاركنا رايك وتقييمك للموضوع

{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}