همیشه نباید برای هر کاری افزونه نصب کرد. برخی از کارها را میتوان با کمی دقت با استفاده از کدونویسی انجام داد. برای ویرایش فرم تسویه حساب ووکامرس بدون افزونه هم میتوان از قطعه کدهایی در فایلهای قالب وردپرس استفاده کرد. قبل از ایجاد هر گونه تغییری، بکآپ کاملی از وبسایت تهیه کنید.
حذف یا اضافه کردن فیلد فرم تسویه حساب ووکامرس
برای حذف یا اضافه کردن فیلدها، میتوانید از فیلتر woocommerce_checkout_fields استفاده کنید. بهعنوان مثال، برای حذف فیلد شماره تلفن، کد زیر را بنویسید:
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { unset($fields['billing']['billing_phone']); return $fields; }
تغییر ترتیب فیلدهای فرم تسویه حساب WooCommerce
برای تغییر ترتیب فیلدها میتوانید اولویت فیلدها را تغییر دهید:
add_filter( 'woocommerce_checkout_fields', 'custom_order_checkout_fields' ); function custom_order_checkout_fields( $fields ) { $fields['billing']['billing_company']['priority'] = 22; $fields['billing']['billing_email']['priority'] = 24; return $fields; }
تغییر برچسب یا Placeholder فیلدهای فرم تسویه حساب ووکامرس
برای تغییر برچسب یا Placeholder فیلدها، کد زیر را اضافه کنید:
add_filter( 'woocommerce_checkout_fields', 'custom_checkout_field_text' ); function custom_checkout_field_text( $fields ) { $fields['billing']['billing_first_name']['placeholder'] = 'نام شما'; $fields['billing']['billing_first_name']['label'] = 'نام'; return $fields; }
اضافه کردن فیلد سفارشی فرم تسویه حساب WooCommerce
برای اضافه کردن فیلد سفارشی به فرم، از کد زیر استفاده کنید:
add_action( 'woocommerce_after_order_notes', 'custom_checkout_field' ); function custom_checkout_field( $checkout ) { woocommerce_form_field( 'custom_field', array( 'type' => 'text', 'class' => array('my-field-class form-row-wide'), 'label' => __('فیلد سفارشی'), 'placeholder' => __('وارد کنید'), ), $checkout->get_value( 'custom_field' )); }
اعتبارسنجی فیلدهای سفارشی فرم تسویه حساب ووکامرس
اگر فیلد سفارشی اضافه کردهاید، شاید بخواهید اعتبارسنجی نیز انجام دهید:
add_action('woocommerce_checkout_process', 'custom_checkout_field_process'); function custom_checkout_field_process() { if ( ! $_POST['custom_field'] ) wc_add_notice( __( 'لطفا فیلد سفارشی را پر کنید.' ), 'error' ); }
توجه کنید که:
کدهای فوق بالا حتما در فایل functions.php قالب فعال وردپرس شما اضافه شوند. بسته به نیازهای خاص شما، ممکن است لازم باشد کدها را تنظیم یا تغییر دهید.
همچنین می توانید برای تهیه خدمات پشتیبانی وردپرس و یا طراحی افزونه وردپرس سایت اختصاصیتان با ما در تماس باشید.