امکان جدید وب نما : نمایش کوپن های تخفیف برای عموم . برای دریافت تخفیف های روزانه کلیک کنید

آموزش حذف فیلدهای غیرضروری از محصولات دانلودی ووکامرس

Want create site? Find Free WordPress Themes and plugins.

shop1

سلام .

یکی از دلایلی که معمولا از Easy Digital Downloads برای فروش محصولات مجازی استفاده میکنیم ساده بودن فرایند خریدشه .

یعنی صرف نظر از کارهایی که شما بعنوان مدیر سایت باید انجام بدید ، Frontend و رابط کاربری ایزی دیجیتال دانلود هم بسیار کاربر پسند تر هست . چون مشتری خیلی راحت محصولشو به سبد خرید اضافه میکنه و بعدش با پر کردن فیلد نام و ایمیل به صفحه پرداخت هدایت میشه و بعد از پرداخت هم محصولشو دانلود میکنه .

 

حالا ما میخوایم این سادگی فرایند خرید رو از EDD به ووکامرس هم منتقل کنیم . طبق آموزش زیر اگه تمام محصولات موجود داخل سبد خرید مشتری از نوع محصولات مجازی یا دانلودی باشه تو صفحه تسویه فقط فیلدهای نام ، ایمیل و شماره تلفن ( بخاطر استفاده از پیامک ووکامرس ) . خب طبیعتا اگه حداقل یک محصول فیزیکی تو سبد خرید باشه باید این فیلدها باقی بمونن و حذف نشن .

 

خب ابتدا به قسمت زیر مراجعه کنید :

مدیریت وردپرس >> ووکامرس >> پیکربندی >> محصولات >> محصولات دانلودی .

از قسمت محدودیت های دسترسی ، تیک “دانلودها نیازمند ورود هستند” رو بردارید و برعکسش تیک “دسترسی به محصولات دانلودشدنی بعد از پرداخت” رو بزنید .

 

حالا هم کد زیر رو داخل functions.php قالبتون و خط آخر قرار بدید و تمام . البته اگه خط آخر کد های فانکشنتون عبارت <؟ وجود داشت باید اول این عبارت رو حذف کنید و بعد کدهای زیر رو قرار بدید . سعی کنید بعد قرار دادن کد های زیر فاصله یا space های اضافی رو از کدهای فانکشن مخصوصا خطوط آخر حذف کنید .

<?php
add_filter( 'woocommerce_checkout_fields' , 'WooCommerce_EDD_Checkout' );
function WooCommerce_EDD_Checkout( $fields ) {
    
    global $woocommerce;
    $hasPhysicalProduct = false;
    
    if ( ! empty( $woocommerce->cart->cart_contents ) ) {
        
        $cart = $woocommerce->cart->get_cart();
        foreach ( $cart as $key => $values ) {

            $_product = get_product( $values['variation_id'] ? $values['variation_id'] : $values['product_id'] );

            if ( ! empty( $_product ) && $_product->exists() && $values['quantity'] > 0 ) {
                
                if ($_product->virtual == 'no' && $_product->downloadable == 'no') {
                    $hasPhysicalProduct = true;
                    break;
                }
            }
        }
    }

    if ($hasPhysicalProduct == false) {
        //unset($fields['billing']['billing_last_name']);
        //unset($fields['billing']['billing_phone']);
        unset($fields['billing']['billing_address_1']);
        unset($fields['billing']['billing_address_2']);
        unset($fields['billing']['billing_company']);
        unset($fields['billing']['billing_city']);
        unset($fields['billing']['billing_postcode']);
        unset($fields['billing']['billing_country']);
        unset($fields['billing']['billing_state']);
    }
    return $fields;
}

توجه : اگه خواستید که فیلد شماره موبایل رو هم حذف کنید کافیه از ۴ خط مونده به آخر کد های بالا عبارت // رو حذف کنید .


 

برای کار با فیلد های صفحه خرید از فیلتر woocommerce_checkout_fields استفاده می کنیم . فیلد های ووکارس در چهار زیر مجموعه اصلی تعبیه شده اند که به شرح زیر است :

  • billing
    • billing_first_name
    • billing_last_name
    • billing_company
    • billing_address_1
    • billing_address_2
    • billing_city
    • billing_postcode
    • billing_country
    • billing_state
    • billing_email
    • billing_phone
  • shipping
    • shipping_first_name
    • shipping_last_name
    • shipping_company
    • shipping_address_1
    • shipping_address_2
    • shipping_city
    • shipping_postcode
    • shipping_country
    • shipping_state
  • account
    • account_username
    • account_password
    • account_password-2
  • order
    • order_comments
Did you find apk for android? You can find new Free Android Games and apps.

این پست هیچ دیدگاهی ندارد.

افزودن دیدگاه