ایجاد یک فرم تسویه حساب ووکامرس که ساده و کاربرپسند باشد، تاثیر بسیاری در افزایش فروش شما خواهد داشت. امروز با هم یاد میگیریم که چطور میتوانیم فرم تسویه حساب را با استفاده از دو روش افزونه و کدنویسی PHP ویرایش کنیم. از حذف فیلدهای اضافی گرفته تا اضافه کردن فیلدهای مورد نیاز، همه را با جزئیات کامل آموزش خواهیم دید. هدف اصلی ما ساخت یک صفحه پرداخت ساده و سریع است که مشتریان بتوانند به راحتی سفارش خود را نهایی کنند. این آموزش به شما کمک میکند تا با کمترین تعداد فیلد ممکن، یک تجربه خرید عالی برای کاربران خود فراهم کنید.
یکی از چالشهای مهم در مدیریت فروشگاههای آنلاین، بهینهسازی فرآیند پرداخت است. وجود فیلدهای زیاد و غیرضروری در صفحه تسویه حساب ووکامرس میتواند باعث دلسردی مشتریان و کاهش نرخ تبدیل شود. تجربه نشان داده که هر چه روند پرداخت سادهتر باشد، احتمال تکمیل خرید توسط کاربران افزایش مییابد.
صاحبان کسب و کارهای آنلاین باید بر اساس نیاز واقعی خود، فقط اطلاعات ضروری را از مشتریان بخواهند و به حذف فیلدهای غیر ضروری بپردازند. ین رویکرد نه تنها باعث افزایش رضایت مشتری میشود، بلکه به افزایش فروش نیز کمک میکند. خوشبختانه در ووکامرس دو راهکار اصلی برای سادهسازی فرم تسویه حساب وجود دارد: استفاده از افزونههای مخصوص این کار و پیادهسازی تغییرات از طریق کدنویسی PHP. در ادامه هر دو روش را به طور کامل بررسی خواهیم کرد تا بتوانید بهترین راهکار را برای کسب و کار خود انتخاب کنید.
سفارشیسازی فرم تسویه حساب ووکامرس با افزونه
برای سفارشیسازی فرم تسویه حساب ووکامرس به روش ساده، میتوانید از افزونههای متنوعی که در دسترس هستند استفاده کنید. در مخزن وردپرس گزینههای رایگان متعددی وجود دارد که به شما در این زمینه کمک میکنند. پس از بررسی و آزمایش جامع افزونههای مختلف در این حوزه، من به این نتیجه رسیدم که “Checkout Field Editor for WooCommerce” عملکرد برتری نسبت به سایر گزینهها دارد.
برخی از افزونههای مشهور در این زمینه عبارتند از:
- Flexible Checkout Fields for WooCommerce
- Fluid Checkout for WooCommerce
- WooCommerce Checkout Field Editor
- Custom WooCommerce Checkout Fields Editor
- Checkout Field Manager for WooCommerce
- Custom Checkout Fields for WooCommerce
اگرچه همه این افزونهها کار مشابهی انجام میدهند، اما تجربه عملی نشان داده که “Checkout Field Editor for WooCommerce“ بهترین و کارآمدترین گزینه برای مدیریت فیلدهای صفحه پرداخت است.
برترین افزونه برای ویرایش فرم تسویه حساب در صفحه پرداخت ووکامرس
برای مدیریت حرفهای فرم تسویه حساب ووکامرس، افزونه Checkout Field Editor for WooCommerce بهترین انتخاب است. این افزونه با معماری بهینه و کارآمد خود، کمترین فشار را به سرور وارد میکند و تاثیر منفی بر سرعت بارگذاری سایت ندارد. مزیت اصلی این افزونه، انعطافپذیری بالا در مدیریت فیلدهای صفحه پرداخت است که به شما اجازه میدهد فیلدهای موجود را ویرایش کنید، فیلدهای جدید اضافه کنید یا فیلدهای غیر ضروری را حذف نمایید.
نصب این افزونه بسیار ساده است. کافیست در بخش افزودن افزونههای وردپرس، نام آن را جستجو کرده و پس از نصب، فعالش کنید. تمام تنظیمات مورد نیاز در بخش ووکامرس پیشخوان وردپرس و قسمت فرم پرداخت در دسترس شما خواهد بود.
فرم پرداخت و تسویه حساب ووکامرس
در فروشگاههای آنلاین، مشتریان پس از انتخاب محصول و تکمیل سبد خرید، به صفحه نهایی پرداخت (checkout) هدایت میشوند. که آدرس آن https://yoursiteDomain.com/checkout است.
تنظیم و حذف فیلدهای صورتحساب در فرم پرداخت ووکامرس
در بخش فیلدهای صورتحساب (Billing Fields) در ووکامرس، شما این امکان را دارید که تمامی فیلدهای فرم تسویه حساب را به سادگی ویرایش، حذف یا اضافه کنید. برای انجام این کار، تنها کافیست بر روی دکمه ویرایش که در کنار هر فیلد قرار دارد کلیک کنید. در این بخش، میتوانید تنظیمات مختلفی از جمله برچسب (Label)، نگهدارنده (Placeholder)، کلاس فیلد (Class)، اعتبارسنجی (Validation) و وضعیت فعال یا غیرفعال بودن فیلد را تغییر دهید.
برچسب، متنی است که بالای هر فیلد قرار میگیرد و به کاربر اطلاعات میدهد که باید چه جزئیاتی را در آن فیلد وارد کند. از سوی دیگر، نگهدارنده متنی است که به صورت کمرنگ درون فیلد نمایش داده میشود و وقتی کاربر فیلد را خالی میگذارد، به او کمک میکند تا بداند چه نوع اطلاعاتی باید در آن وارد شود.
کلاس فیلد به منظور تعیین اندازه و عرض فیلدها کاربرد دارد و به سه نوع تقسیم میشود: form-row-first برای فیلدهایی که نیمی از عرض را اشغال میکنند، form-row-last برای فیلدهای انتهایی و form-row-wide که به صورت تمام عرض نمایش داده میشود.
عملکرد اعتبارسنجی نیز به طور خودکار ورودیهای کاربر را بررسی میکند و اطمینان حاصل میکند که اطلاعاتی مانند ایمیل، شماره تلفن، کدپستی و دیگر مقادیر عددی در فرمت صحیح وارد شدهاند. اگر اطلاعات ورودی نادرست باشد، کاربر به سرعت از آن مطلع میشود و میتواند آن را اصلاح کند.
فرم تسویه حساب ووکامرس معمولاً شامل 11 فیلد مختلف است که عبارتند از:
- billing_first_name (نام)
- billing_last_name (نام خانوادگی)
- billing company (نام شرکت)
- billing_country (کشور)
- billing_address_1 (آدرس خط اول)
- billing_address_2 (آدرس خط دوم)
- billing_city (شهر)
- billing_state (استان)
- billing_postcode (کدپستی)
- billing_phone (شماره تلفن)
- billing_email (ایمیل)
شما میتوانید ترتیب این فیلدها را تغییر دهید. برای این کار، کافیست موس خود را بر روی آیکون سه خط کنار هر فیلد قرار دهید و با کشیدن و رها کردن (Drag & Drop) آنها را به موقعیت جدید منتقل کنید.
برای غیرفعال کردن یا حذف یک فیلد، تنها کافیست بر روی دکمه ویرایش آن کلیک کرده و تیک گزینههای فعال (Enabled) و ضروری (Required) را بردارید. سپس با کلیک بر روی دکمه «ذخیره و بستن» (Save & Close) تغییرات خود را نهایی کنید.
بسیاری از فروشگاههای آنلاین ممکن است به فیلدهای billing_company، billing_country و billing_address_2 نیازی نداشته باشند و به راحتی آنها را غیرفعال کنند. همچنین، سایتهای آموزشی و فروش محصولات دیجیتال معمولا از فیلدهای billing_company، billing_country، billing_address_1، billing_address_2، billing_city، billing_state و billing_postcode استفاده نمیکنند و میتوانند این فیلدها را حذف نمایند.
تنظیم و حذف فیلدهای ارسال در فرم تسویه حساب ووکامرس
در فروشگاههای آنلاین وردپرسی که با ووکامرس فعالیت میکنند، خریداران میتوانند کالاهای فیزیکی را به آدرسهایی غیر از آدرس خود ارسال کنند. این ویژگی بهویژه برای خرید هدایا بسیار کاربردی است.
زمانی که خریدار قصد خرید دارد، ابتدا اطلاعات خود را در فیلدهای صورتحساب (Billing Fields) وارد میکند. سپس میتواند جزئیات شخص سوم را در فیلدهای حمل و نقل (Shipping Fields) ثبت کند. این امکان به مشتریان اجازه میدهد تا کالای خریداریشده را به آدرس گیرنده ارسال کنند.
مدیران فروشگاه نیز میتوانند فیلدهای حمل و نقل را بهدلخواه تغییر دهند. کافی است به بخش تنظیمات ووکامرس بروند و در سربرگ حمل و نقل (Shipping) فیلدها را ویرایش یا حذف کنند. این انعطافپذیری به فروشگاهها کمک میکند تا تجربه بهتری برای مشتریان خود فراهم کنند و به نیازهای خاص آنها پاسخ دهند.
در فرم تسویه حساب ووکامرس، مجموعاً ۹ فیلد مرتبط با حمل و نقل وجود دارد که به شرح زیر هستند:
- shipping_first_name (نام گیرنده در فرم حمل و نقل)
- shipping_last_name (نام خانوادگی گیرنده در فرم حمل و نقل)
- shipping_company (نام شرکت در فرم حمل و نقل)
- shipping_country (کشور مقصد در فرم حمل و نقل)
- shipping_address_1 (آدرس اصلی در فرم حمل و نقل)
- shipping_address_2 (آدرس تکمیلی در فرم حمل و نقل)
- shipping_city (شهر مقصد در فرم حمل و نقل)
- shipping_state (استان مقصد در فرم حمل و نقل)
- shipping_postcode (کد پستی در فرم حمل و نقل)
شما میتوانید همانند تغییرات و امکاناتی که برای فیلدهای صورتحساب در فرم پرداخت ووکامرس قابل اعمال است، ویرایشهای مشابهی را بر روی فیلدهای حمل و نقل نیز انجام دهید. این انعطافپذیری به شما این امکان را میدهد که تجربهای متناسب با نیازهای خاص مشتریان خود فراهم کنید.
یک نکته حائز اهمیت این است که فیلد مربوط به کشور در فرمهای صورتحساب و حملونقل برای کالاهای فیزیکی الزامی است. در صورتی که این فیلد را حذف کنید، کاربر با خطای «لطفاً برای ادامه یک آدرس وارد کنید» مواجه خواهد شد. اگر مشتریان شما فقط ساکنان یک کشور خاص (مثلاً ایران) هستند، میتوانید در تنظیمات ووکامرس، مکانهای فروش و آدرسهای حملونقل را فقط به ایران محدود کنید. سپس با حذف تیک الزامی بودن فیلد کشور و غیرفعال کردن آن، میتوانید این فیلد را از صفحه تسویه حساب حذف کنید.
حذف و ویرایش فیلد یادداشت سفارش در فرم تسویه حساب ووکامرس
بخش توضیحات تکمیلی (Additional information) در فرم تسویه حساب ووکامرس، شامل فیلدی به نام توضیحات سفارش ( Order notes) است که مشتری میتواند در آن درخواستهای خاص خود را برای سفارش ثبت کند. این قسمت معمولا برای ثبت مواردی مانند نحوه بستهبندی، زمان و مکان تحویل یا هر توضیح دیگری مورد استفاده قرار میگیرد.
اگر در کسب و کار شما نیازی به دریافت این اطلاعات تکمیلی نیست، میتوانید به سادگی با مراجعه به بخش فیلدهای اضافی (Additional Fields) در تنظیمات افزونه، این فیلد را غیرفعال کنید. پس از غیرفعالسازی، این بخش دیگر در صفحه پرداخت برای مشتریان نمایش داده نخواهد شد و فرآیند تکمیل سفارش سادهتر خواهد شد. بدین ترتیب مشاهده خواهید کرد با حذف فیلدهای غیر ضروری، سایتتان تا چه اندازه پیشرفت خواهد کرد.
همیشه استفاده از کدهای PHP برای شخصیسازی وردپرس و ووکامرس روش بهتری نسبت به نصب افزونههای مختلف است. یکی از کاربردهای رایج این روش، حذف فیلدهای غیر ضروری از صفحه پرداخت ووکامرس است. برای این منظور، کافیست کد PHP مناسب را در فایل functions.php قالب اصلی یا پوسته فرزند قالب خود اضافه کنید.
/** Remove all possible fields **/
} (function feriia_remove_checkout_fields( $fields
// Billing fields
unset( $fields[‘billing’][‘billing_company’] );
unset( $fields[‘billing’][‘billing_email’] );
unset( $fields[‘billing’][‘billing_phone’] );
unset( $fields[‘billing’][‘billing_state’] );
unset( $fields[‘billing’][‘billing_first_name’] );
unset( $fields[‘billing’][‘billing_last_name’] );
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’] );
// Shipping fields
unset( $fields[‘shipping’][‘shipping_company’] );
unset( $fields[‘shipping’][‘shipping_phone’] );
unset( $fields[‘shipping’][‘shipping_state’] );
unset( $fields[‘shipping’][‘shipping_first_name’] );
unset( $fields[‘shipping’][‘shipping_last_name’] );
unset( $fields[‘shipping’][‘shipping_address_1’] );
unset( $fields[‘shipping’][‘shipping_address_2’] );
unset( $fields[‘shipping’][‘shipping_city’] );
unset( $fields[‘shipping’][‘shipping_postcode’] );
unset( $fields[‘shipping’][‘shipping_country’] );
// Order fields
unset( $fields[‘order’][‘order_comments’] );
return $fields;
}
add_filter(‘woocommerce_checkout_fields’, ‘webzoj_remove_checkout_fields’ );
با استفاده از کد بالا میتوانید فیلدهای مختلف billing، shipping و order notes را به راحتی از فرم پرداخت حذف کنید. نکته مهم این است که شما میتوانید انعطافپذیری کاملی در انتخاب فیلدهای مورد نظر داشته باشید. برای مثال اگر نمیخواهید فیلد billing first name پاک شود، کافیست خط زیر از کد بالا حذف شود.
unset( $fields[‘billing’][‘billing_first_name’] );
این کدها را میتوانید متناسب با نیاز خود شخصیسازی کنید. فقط کافیست خطوط مربوط به فیلدهایی که میخواهید در فرم باقی بمانند را حذف کنید.
ایجاد تغییر در کلاس (Class) فیلدهای مختلف فرم تسویهحساب
اگر قصد دارید عرض فیلدهای مختلف در فرم تسویه حساب ووکامرس خود را تغییر دهید، میتوانید از کد زیر استفاده کنید.
//نصف کردن اندازه فیلد موبایل و ایمیل
add_filter(‘woocommerce_checkout_fields’, ‘custom_override_checkout_fields’ );
function custom_override_checkout_fields ( $fields ) {
$fields[‘billing’][‘billing_phone’][‘class’] =
array(‘form-row’,’form-row’,’form-row-first’, ‘address-field’, ‘validate-phone’);
$fields[‘billing’][‘billing_email’][‘class’]= array(‘form-row’,’form-row’,’form-row-last’, ‘address-field’, ‘validate-email’);
return $fields;
}
به عنوان مثال، با این کد، اندازه فیلدهای موبایل (billing_phone) و ایمیل (billing_email) در فرم تسویه حساب ووکامرس را از تمام عرض به نیم عرض تغییر دادم. به این ترتیب، فیلد موبایل در نیمه اول و فیلد ایمیل در نیمه دوم قرار میگیرند تا به خوبی در کنار هم جا بگیرند.
حذف فیلد توضیحات سفارش و بخش اضافی در صفحه پرداخت ووکامرس
برای از بین بردن فیلد توضیحات سفارش و همچنین بخش توضیحات تکمیلی در صفحه پرداخت ووکامرس، میتوانید از کد زیر بهره ببرید. این کد به شما این امکان را میدهد که این قسمتها را بهطور کامل حذف کنید و فرم پرداخت را سادهتر کنید.
// حذف woocommerce-additional-fields صفحه پرداخت ووکامرس
add_filter(‘woocommerce_enable_order_notes_field’, ‘__return_false’);
اضافه کردن نگهدارنده (Placeholder) به فیلدهای فرم تسویهحساب ووکامرس
اگر میخواهید نگهدارنده را به فیلدهای مختلف فرم تسویه حساب ووکامرس در صفحه پرداخت ووکامرس اضافه کنید، میتوانید از کد زیر استفاده کنید.
// افزودن پلیس هولدر برای فیلد های صفحه تسویه حساب
add_filter(‘woocommerce_checkout_fields’, ‘override_billing_checkout_fields’, 20, 1 );
function override_billing_checkout_fields( $fields ) {
$fields[‘billing’][‘billing_first_name’][‘placeholder’]= ‘نام خود را وارد کنید’;
$fields[‘billing’][‘billing_last_name’][‘placeholder’]= ‘نام خانوادگی خود را وارد کنید’;
$fields[‘billing’][‘billing_phone’][‘placeholder’]= ‘با اعداد انگلیسی’;
$fields[‘billing’][‘billing_email’][‘placeholder’]= ‘ایمیل خود را کامل و دقیق وارد کنید’;
return $fields;
}
به عنوان مثال، با استفاده از کد فوق، میتوانید متن نگهدارنده (Placeholder) دلخواهی را برای هر یک از فیلدهای نام، نام خانوادگی، شماره موبایل و ایمیل تنظیم کنید.
اختیاری کردن فیلدهای ایمیل و شماره تماس در صفحه پرداخت ووکامرس
با استفاده از کد زیر، شما میتوانید فیلدهای ضروری در فرم تسویه حساب ووکامرس را به حالت اختیاری تبدیل کنید.
add_filter(‘woocommerce_billing_fields’, ‘adjust_requirement_of_checkout_contact_fields’);
function adjust_requirement_of_checkout_contact_fields( $fields ) {
$fields[‘billing_phone’][‘required’] = false;
$fields[‘billing_email’][‘required’] = false;
return $fields;
}
برای مثال، این کد به شما این امکان را میدهد که فیلدهای ایمیل و شماره تلفن (موبایل) را در فرم تسویه حساب ووکامرس به اختیار خود تغییر دهید. بدین ترتیب، اگر مشتریان تمایل نداشته باشند این اطلاعات را وارد کنند، میتوانند به راحتی فرایند خرید را ادامه دهند بدون اینکه مشکلی ایجاد شود.
تغییر نام برچسبهای (Label) فیلدهای فرم تسویهحساب در ووکامرس
برای تغییر نام برچسب هر یک از فیلدهای فرم پرداخت ووکامرس، میتوانید از کد زیر استفاده کنید.
/**
* Snippet Name: Change the WooCommerce checkout field labels.
*/
add_filter(‘woocommerce_checkout_fields’, ‘webzoj_wc_checkout_fields’ );
function webzoj_wc_checkout_fields( $fields ) {
$fields[‘billing’][‘billing_phone’][‘label’] = ‘شماره موبایل’;
return $fields;
}
به عنوان مثال، با استفاده از این کد، شما میتوانید برچسب فیلد شماره موبایل را از “تلفن” به “شماره موبایل” تغییر دهید.
چپچین کردن ورودی فیلدهای شماره تماس و ایمیل
برای اینکه ورودیهای فیلدهای ایمیل و شماره موبایل در فرم پرداخت ووکامرس به صورت چپچین نمایش داده شوند، میتوانید از کد CSS زیر استفاده کنید. این کار باعث میشود کاربران هنگام وارد کردن یا ویرایش این اطلاعات، دقت بیشتری داشته باشند و از اشتباهات احتمالی جلوگیری شود.
#billing_phone, #billing_email {
direction: ltr;
text-align: left;
}
/* webkit solution */
::-webkit-input-placeholder { text-align:right; }
/* mozilla solution */
input:-moz-placeholder { text-align:right; }
برای اعمال کد بالا، کافی است آن را در قسمت CSS سفارشی قالب خود (مسیر: نمایش > سفارشیسازی > CSS اضافی) وارد کنید. اگر از المنتور استفاده میکنید، این کد را در بخش CSS مربوط به صفحه پرداخت (Checkout) قرار دهید.
در کل، میتوانید از این کدها برای سفارشیسازی و تغییر تمام فیلدها و ورودیهای صفحه پرداخت ووکامرس استفاده کنید:
add_filter(‘woocommerce_checkout_fields’, ‘webzoj_wc_checkout_fields’ );
// This example changes the default placeholder text for the state drop downs to “Select A State”
function webzoj_wc_checkout_fields( $fields ) {
$fields[‘billing’][‘billing_state’][‘placeholder’] = ‘Select A State’;
$fields[‘shipping’][‘shipping_state’][‘placeholder’]= ‘Select A State’;
return $fields;
}
به جای مقادیر اولیه اول و دوم، میتوانید از هر یک از گزینههای زیر استفاده کنید:
// Billing Fields
[‘billing’][‘billing_first_name’]
[‘billing’][‘billing_last_name’]
[‘billing’][‘billing_company’]
[‘billing’][‘billing_address_1’]
[‘billing’][‘billing_address_2’]
[‘billing’][‘billing_city’]
[‘billing’][‘billing_postcode’]
[‘billing’][‘billing_country’]
[‘billing’][‘billing_state’]
[‘billing’][‘billing_email’]
[‘billing’][‘billing_phone’]
// Shipping Fields
[‘shipping’][‘shipping_first_name’]
[‘shipping’][‘shipping_last_name’]
[‘shipping’][‘shipping_company’]
[‘shipping’][‘shipping_address_1’]
[‘shipping’][‘shipping_address_2’]
[‘shipping’][‘shipping_city’]
[‘shipping’][‘shipping_postcode’]
[‘shipping’][‘shipping_country’]
[‘shipping’][‘shipping_state’]
// Account Fields
[‘account’][‘account_username’]
[‘account’][‘account_password’]
[‘account’][‘account_password-2’]
// Additional Fields
[‘order’][‘order_comments’]
برای مقدار سوم، میتوان از هر یک از گزینههای زیر استفاده کرد:
// These are the specific properties that can be used to customize the checkout fields
[‘type’] // Field Type. Valid types are text, textarea, password, or select.
[‘label’] // Field Label. Above the input box.
[‘placeholder’] // Placeholder text. Inside the input box.
[‘class’] // add a class to the field
[‘required’] // Display whether field should be required or not. Values either “true” or “false”
[‘clear’] // Apply clear fix to the field. Values either “true” or “false”
[‘label_class’] // add class to field label
[‘options’] // modify select boxes with an array of values
چیدمان فیلدهای فرم پرداخت در صفحه تسویه حساب ووکامرس به چهار دسته اصلی تقسیم میشود:
- Billing address – اطلاعات صورتحساب
- Shipping address – اطلاعات ارسال
- Account login – اطلاعات حساب
- Additional information – جزئیات سفارش
هر یک از این دستهها فیلدهای خاص خود را دارند که ترتیب و اولویت نمایش آنها نیز متفاوت است. در ادامه، فیلدهای موجود در هر دسته و ترتیب نمایش آنها را بررسی خواهیم کرد.
فیلدهای مربوط به نشانی صورتحساب (Billing)
- billing_first_name – اولویت 10
- billing_last_name – اولویت 20
- billing_company – اولویت 30
- billing_address_1 – اولویت 40
- billing_address_2 – اولویت 50
- billing_city – اولویت 60
- billing_postcode – اولویت 70
- billing_country – اولویت 80
- billing_state – اولویت 90
- billing_email – اولویت 100
- billing_phone – اولویت 110
فیلدهای مربوط به نشانی ارسال (Shipping)
- shipping_first_name – اولویت 10
- shipping_last_name – اولویت 20
- shipping_company – اولویت 30
- shipping_address_1 – اولویت 40
- shipping_address_2 – اولویت 50
- shipping_city – اولویت 60
- shipping_postcode – اولویت 70
- shipping_country – اولویت 80
- shipping_state – اولویت 90
فیلدهای مربوط به حساب کاربری (Account)
- account_password – (بدون اولویت)
فیلدهای مربوط به سفارش (Order)
- order_comments – (بدون اولویت)
هر فیلد در فرم تسویه حساب ووکامرس دارای یک عدد اولویت پیشفرض است که ترتیب نمایش آن را مشخص میکند. شما میتوانید با استفاده از افزودن کد مناسب و تغییر این اعداد اولویت، چیدمان و ترتیب نمایش فیلدها را به دلخواه خود تنظیم کنید. این امکان به شما اجازه میدهد تا یک فیلد خاص یا گروهی از فیلدها را در هر موقعیتی از فرم سفارش قرار دهید.
add_filter(‘woocommerce_checkout_fields’, ‘webzoj_reorder_woo_checkout_fields’ );
function webzoj_reorder_woo_checkout_fields ($checkout_fields ) {
$checkout_fields[‘billing’][‘billing_email’][‘priority’]= 5;
return $checkout_fields;
}
با استفاده از این کد میتوانید ترتیب نمایش فیلدها را تغییر دهید. برای مثال، اگر بخواهید فیلد ایمیل در ابتدای فرم پرداخت و قبل از نام و نام خانوادگی نمایش داده شود، میتوانید اولویت آن (priority) را عدد 5 قرار دهید. از آنجایی که عدد 5 کمتر از اولویت فیلد نام (billing_first_name) که 10 است و همچنین کمتر از اولویت فیلد نام خانوادگی (billing_last_name) که 20 است میباشد، فیلد ایمیل پیش از تمامی این فیلدها قرار خواهد گرفت و در ابتدای فرم نمایش داده خواهد شد.
شما میتوانید از اعداد اولویت بین مقادیر پیشفرض ووکامرس نیز استفاده کنید. در حالت پیشفرض، اولویت فیلدها به این صورت است: آدرس پستی (40)، شهر (60)، کدپستی (70)، کشور (80) و استان (90). با استفاده از این کد و تکثیر خط مربوط به تغییر اولویت، میتوانید ترتیب جدیدی ایجاد کنید. برای مثال، اگر میخواهید بعد از نام و نام خانوادگی، به ترتیب فیلدهای کشور (priority: 21)، استان (priority: 22)، شهر (priority: 23)، آدرس پستی (priority: 24) و کدپستی (priority: 25) قرار بگیرند، میتوانید این اولویتها را تنظیم کنید. در این صورت، تنها فیلدهای ایمیل با اولویت پیشفرض 90 و تلفن (شماره موبایل) با اولویت پیشفرض 100 در انتهای فرم Billing صفحه پرداخت نمایش داده خواهند شد.
جمعبندی
در این آموزش به طور جامع بررسی کردیم که چگونه میتوان فیلدهای فرم تسویه حساب در فرم تسویه حساب ووکامرس را هم با استفاده از افزونه و هم با استفاده از کد ویرایش کرد. با توجه به تجربیات متعدد، پیشنهاد میکنم به جای استفاده از افزونه، از روش کدنویسی استفاده کنید، زیرا این روش از بروز مشکلات و تداخلهای احتمالی در آینده جلوگیری میکند. همچنین با استفاده از روشهای مذکور در این مطلب، میتوانید نسبت به حذف فیلدهای غیر ضروری اقدام کنید.
چنانچه در این زمینه سوال، مشکل یا ابهامی دارید، میتوانید آن را در بخش کامنتها با ما در میان بگذارید. ما در اسرع وقت و با کمال میل به شما پاسخ خواهیم داد.