اگر با افزونه فروشگاهی EDD کار کرده باشید فرآیند خرید در ان ساده بوده و مشتری تنها کافی است تا ایمیل و نام خود را در آن وارد کرده و با ورود به سایت اقدام به خرید کند، و در صورتی که دارای حساب کاربری نیست میتواند با ثبت ایمیل و نام خود به صورت خودکار عضو سایت شود.
در این آموزش از بیست اسکریپت قصد دارم تا قطعه کدی را به شما معرفی کنم که با استفاده از ان قادر خواهید بود تا فرآیند خرید در ووکامرس را نیز به سادگی Edd تبدیل کنید و از فیلدهای غیرضروری همچون شهر و.. که برای فروش محصولات مجازی نیازی به آنها نیست را از ان حذف کنید.
کاهش مراحل فرآیند خرید در ووکامرس
برای شروع کار ابتدا به مسیر ووکامرس> پیکربندی> محصولات> محصولات دانلودی مراجعه کرده و تیک گزینهی دانلودها نیازمند ورود هستند را برداشته و تیک گزینه دسترسی به محصولات دانلود شدنی بعد از پرداخت را فعال کنید.
سپس به ویرایشگر قالب خود مراجعه کرده و کدهای زیر را در مکان مناسبی از فایل فانکشن (functions.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'] > ۰ ) { if ($_product->virtual == 'no' && $_product->downloadable == 'no') {<span style="display: inline-block; width: ۰px; overflow: hidden; line-height: ۰;" data-mce-type="bookmark" class="mce_SELRES_start"></span> $hasPhysicalProduct = true; break; } } } } if ($hasPhysicalProduct == false) { //unset($fields['billing']['billing_last_name']); //unset($fields['billing']['billing_phone']); unset($fields['billing']['billing_address_۱']); unset($fields['billing']['billing_address_۲']); 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; }
حال اگر اقدام به خرید محصول در فروشگاه ووکامرسی خود کنید خواهید دید که فیلدهایی همچون شهر، آدرس، شماره موبایل و.. از آن حذف شده است. دقت کنید در صورتی که میخواهید تا گزینه شماره موبایل را هم از این لیست حذف کنید میتوانید دو کاراکتر // را از خط billing_phone بردارید تا در فرم نمایش داده نشود.
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید