هنگام فروش محصولات مجازی و دانلودی احتیاجی به دریافت فیلدهایی مانند آدرس پستی و کد پستی ندارید. این فیلدها می توانند برای مشتریان گیج کننده باشند و فرآیند خرید را طولانی تر کنند.
در این آموزش با دو روش مختلف (با کمک افزونه و با استفاده از کد سفارشی) یاد میگیرید که چگونه فیلدهای غیرضروری را در فرم تسویه حساب ویرایش کنید.
ویرایش فرم پرداخت با استفاده از افزونه
افزونه رایگان WooCommerce Checkout Manager ابزاری قدرتمند برای مدیریت و شخصی سازی فرم تسویه در اختیار شما قرار میدهد تا بتوانید آن را مطابق با نیازها و سلیقه خودتان تنظیم کنید.
قابلیتهای این افزونه
- اضافه، حذف، ویرایش و جابجایی فیلدها
- تنظیم فیلدها به صورت الزامی یا اختیاری
- دستهبندی فیلدها در بخشهای مجزا
ورژن پریمیون این افزونه قابلیتهایی مانند نمایش یا پنهان کردن فیلدها بر اساس شرایط خاص (مانند نوع محصول، نقش کاربری، روش پرداخت) نیز دارد.
نحوه استفاده از افزونه WooCommerce Checkout Manager
افزونه WooCommerce Checkout Manager را از مخزن وردپرس یا وب سایت رسمی YITH دانلود و نصب کنید. پس از فعالسازی افزونه، به منوی ووکامرس > تنظیمات > Checkout Manager در پیشخوان وردپرس خود بروید.

در بخش تنظیمات ابن افزونه به تب فیلدها بروید. در این بخش میتوانید لیست فیلدهای موجود را مشاهده کنید و فیلدهای جدید اضافه، ویرایش، حذف یا جابجا کنید. همچنین میتوانید برای هر فیلد، تنظیمات مربوط به عنوان، برچسب، نوع فیلد (متن، انتخاب، چکباکس و غیره) و الزامی یا اختیاری بودن را تعیین کنید.


به همین سادگی میتوانید فیلدهای فرم تسویه حساب را در وب سایت خود تسویه کنید.
ویرایش فرم پرداخت ووکامرس برای محصولات دانلودی با کد سفارشی
در این آموزش، ما از یک تابع PHP استفاده میکنیم که به ووکامرس میگوید در صورتی که تمام محصولات در سبد خرید مجازی باشند، فیلدهای نامرتبط را از صفحه تسویه حساب حذف کند.
کد سفارشی زیر را در وب سایت خود قرار دهید
برای قرار دادن کد سفارشی در سایتهای وردپرسی از سه روش زیر میتوانید استفاده کنید:
- قرار دادن کد در فایل functions.php تم فرزند
- استفاده از پلاگینهای کمکی مانند code snippets
- ساخت پلاگین اختصاصی خود
بیشتر بخوانید: آموزش نحوه اضافه کردن کد سفارشی در وردپرس
/**
* Remove Checkout Fields for Virtual products in WooCommerce
* @update:mrnargil.ir/remove-checkout-fields-woocommerce
*/
add_filter( 'woocommerce_checkout_fields', 'simplify_checkout_virtual' );
function 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']);
add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
}
return $fields;
}
این کد چگونه کار میکند؟
این کد یک تابع به نام simplify_checkout_virtual ایجاد میکند که فیلدهای نامربوط را از صفحه تسویه حساب حذف میکند.
تابع ابتدا بررسی میکند که آیا تمام محصولات در سبد خرید مجازی هستند یا خیر. اگر هر محصولی غیر مجازی باشد، متغیر $only_virtual را به false تغییر میدهد.
اگر تمام محصولات در سبد خرید مجازی باشند (یعنی $only_virtual برابر true باشد)، تابع فیلدهای نامربوط مانند شرکت، آدرس 1، آدرس 2، شهر، کد پستی، کشور و ایالت را از بخش “صورتحساب” حذف میکند. همچنین فیلد “یادداشت سفارش” را نیز غیرفعال میکند.
در نهایت، تابع فیلدهای باقیمانده را بازمیگرداند.
با اضافه کردن این کد به وردپرس، هنگامی که مشتریان محصولات مجازی را در سبد خرید داشته باشند، فیلدهای نامربوط از صفحه تسویه حساب حذف میشوند. این امر باعث سادهتر شدن فرایند تسویه حساب و افزایش فروش وبسایت شما خواهد شد.
دیدگاهتان را بنویسید