حذف فیلدهای آدرس مرحله پرداخت
اگر شما محصولات مجازی و دانلودی ارائه می کنید که نیاز به ارسال کالای فیزیکی ندارد باید مراحل خرید ووکامرس را تا حد امکان ساده کنید و برای سبدهای خریدی که فقط محصولات مجازی را شامل می شوند فرم آدرس ارسال کالا را غیرفعال نمایید.
کد زیر سبد خرید مشتری را چک می کند و اگر فقط محصولات مجازی داخل آن باشد فلیدهای مربوط به آدرس مشتری را غیر فعال می کند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
add_filter( 'woocommerce_checkout_fields' , 'wootips_simplify_checkout_virtual' ); function wootips_simplify_checkout_virtual( $fields ) { $only_virtual = true; foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { // Check if there are non-virtual products if ( ! $cart_item['data']->is_virtual() ) $only_virtual = false; } if( $only_virtual ) { unset($fields['billing']['billing_company']); unset($fields['billing']['billing_address_1']); unset($fields['billing']['billing_address_2']); unset($fields['billing']['billing_city']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_state']); unset($fields['billing']['billing_phone']); add_filter( 'woocommerce_enable_order_notes_field', '__return_false' ); } return $fields; } |
همانطور که مشاهده می کنید با فیلدهای نام و آدرس ایمیل کاری نداشتیم. کافیست این کد را در فایل functions.php قالب وردپرس سایت خود قرار دهید.