رفتن به مطلب

پست های پیشنهاد شده

  • مدیریت کل سایت

اگر با افزونه فروشگاهی 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') {
$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 بردارید تا در فرم نمایش داده نشود.

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...