در فروشگاههای آنلاین، فرآیند تسویه حساب یکی از مهمترین مراحل در تجربه خرید مشتریان است. یک صفحه تسویه حساب ساده و کارآمد میتواند نرخ تبدیل بازدیدکننده به مشتری را افزایش دهد و رضایت کاربران را بهبود بخشد. با این حال، گاهی نیاز است تا فیلدهای اضافی یا سفارشی را به صفحه تسویه حساب اضافه کنیم یا فیلدهای غیرضروری را حذف نماییم تا فرآیند خرید را متناسب با نیازهای کسبوکار خود شخصیسازی کنیم.
در ادامه ما به دو روش (با افزونه و کد) این فرآیند را توضیح خواهیم داد. با ما همراه باشید.
ویرایش صفحه تسویه حساب ووکامرس با ۲ روش
روش اول: با استفاده از افزونه Checkout Field Editor (Checkout Manager) for WooCommerce
۱. نصب افزونه
۲. دسترسی به افزونه
۳. مدیریت فیلدها
۴. مرتبسازی فیلدها
۵. بازگردانی تنظیمات به حالت پیشفرض
نکات پایانی
روش دوم: بدون استفاده از افزونه (کد PHP)
برای ویرایش صفحه پرداخت ووکامرس و فرم تسویه حساب بدون استفاده از افزونه، میتوانید از کدهای سفارشی در فایل functions.php قالب وردپرس خود استفاده کنید. این روش به شما امکان میدهد تا فیلدهای تسویه حساب را سفارشی کنید، فیلدهای غیرضروری را حذف کرده و برخی فیلدها را اختیاری کنید.
۱. حذف فیلدهای اضافی از فرم تسویه حساب
برای حذف فیلدهای غیرضروری از فرم تسویه حساب، میتوانید از فیلتر woocommerce_checkout_fields استفاده کنید. در مثال زیر نحوه حذف فیلدهای آدرس خط دوم و نام شرکت آورده شده است:
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { // حذف فیلد یادداشت unset($fields['order']['order_comments']); // حذف فیلد نام شرکت unset($fields['billing']['billing_company']); // حذف فیلد نام 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']); // حذف فیلد استان unset($fields['billing']['billing_state']); // حذف فیلد شماره تماس unset($fields['billing']['billing_phone']); // حذف فیلد ایمیل unset($fields['billing']['billing_email']); // حذف فیلد رمز عبور unset($fields['account']['account_password']); // حذف فیلد تکرار رمز عبور unset($fields['account']['account_password-2']); return $fields; }
۲. اختیاری کردن فیلدهای فرم تسویه حساب
اگر میخواهید برخی فیلدهای تسویه حساب را از حالت اجباری به حالت اختیاری تغییر دهید، میتوانید با استفاده از کد زیر این کار را انجام دهید:
function custom_optional_checkout_fields( $fields ) { // اختیاری کردن فیلد نام $fields['billing']['billing_first_name']['required'] = false; // اختیاری کردن فیلد نام خانوادگی $fields['billing']['billing_last_name']['required'] = false; // اختیاری کردن فیلد آدرس ۲ $fields['billing']['billing_address_2']['required'] = false; // اختیاری کردن فیلد ایمیل $fields['billing']['billing_email']['required'] = false; // اختیاری کردن فیلد تلفن $fields['billing']['billing_phone']['required'] = false; return $fields; } add_filter( 'woocommerce_checkout_fields', 'custom_optional_checkout_fields' );
۳. تغییر ترتیب فیلدهای فرم تسویه حساب
برای تغییر ترتیب نمایش فیلدها در صفحه تسویه حساب، میتوانید از این کد استفاده کنید:
function custom_add_checkout_field( $fields ) { $fields['billing']['billing_custom_field'] = array( 'type' => 'text', 'label' => 'کدملی', 'placeholder' => '۱۲۳۴۵۶۷۸۹', 'required' => true, 'priority' => 25, ); return $fields; } add_filter( 'woocommerce_checkout_fields', 'custom_add_checkout_field' );
۴. اضافه کردن فیلد جدید به فرم تسویه حساب
اگر نیاز دارید فیلد جدیدی به فرم تسویه حساب اضافه کنید، از کد زیر استفاده کنید:
function custom_add_checkout_field( $fields ) { $fields['billing']['billing_custom_field'] = array( 'type' => 'text', 'label' => 'عنوان دلخواه', 'placeholder' => 'توضیحات دلخواه', 'required' => true, 'priority' => 25, ); return $fields; } add_filter( 'woocommerce_checkout_fields', 'custom_add_checkout_field' );
در این مثال، یک فیلد متنی جدید با نام billing_custom_field و برچسب “عنوان دلخواه” به فرم تسویه حساب اضافه میشود.
۵. ذخیره و نمایش اطلاعات فیلد سفارشی
اگر فیلد جدیدی اضافه کردهاید و میخواهید اطلاعات آن را ذخیره کرده و در بخش سفارشات نمایش دهید، از کد زیر استفاده کنید:
// ذخیره فیلد سفارشی function custom_save_checkout_field( $order_id ) { if ( ! empty( $_POST['billing_custom_field'] ) ) { update_post_meta( $order_id, '_billing_custom_field', sanitize_text_field( $_POST['billing_custom_field'] ) ); } } add_action( 'woocommerce_checkout_update_order_meta', 'custom_save_checkout_field' ); // نمایش فیلد سفارشی در پنل مدیریت function custom_display_checkout_field_in_admin_order_meta( $order ) { $custom_field = get_post_meta( $order->get_id(), '_billing_custom_field', true ); if ( $custom_field ) { echo '<p><strong>' . __( 'Custom Field' ) . ':</strong> ' . esc_html( $custom_field ) . '</p>'; } } add_action( 'woocommerce_admin_order_data_after_billing_address', 'custom_display_checkout_field_in_admin_order_meta', 10, 1 );
نکات پایانی
•پشتیبانگیری: قبل از هر تغییری در فایل functions.php، از فایلهای خود پشتیبان تهیه کنید.
•کدنویسی: به دقت کدها را در مکانهای مناسب قرار دهید تا از بروز مشکلات احتمالی جلوگیری شود.
•تست: پس از اعمال تغییرات، صفحه تسویه حساب را تست کنید تا مطمئن شوید که همه چیز به درستی کار میکند.
این روشها به شما امکان میدهند تا صفحه تسویه حساب ووکامرس خود را به دلخواه سفارشی کنید و تجربه کاربری مشتریان را بهبود بخشید.