تغییر ترتیب فیلدهای شهر و استان در صفحه پرداخت ووکامرس

زمان مطالعه: 2 دقیقه

در این مقاله، نحوه جابجایی فیلدهای شهر و استان در صفحه پرداخت ووکامرس را بررسی کردیم. به‌صورت پیش‌فرض، ووکامرس ابتدا فیلد استان و سپس شهر را نمایش می‌دهد، اما با استفاده از فیلتر woocommerce_checkout_fields می‌توان این ترتیب را تغییر داد. کد ارائه‌شده در functions.php ابتدا فیلدهای پرداخت را دریافت کرده، سپس ترتیب فیلد شهر و استان را تغییر داده و آن‌ها را مجدداً تنظیم می‌کند. این تغییر باعث بهبود تجربه کاربری می‌شود، مخصوصاً برای کشورهایی که کاربران ابتدا شهر خود را وارد کرده و سپس استان را انتخاب می‌کنند.
تغییر ترتیب فیلدهای شهر و استان در صفحه پرداخت ووکامرس

فهرست مطالب

در این مقاله، ما قصد داریم نحوه جابجایی فیلدهای شهر، استان . خیابان را در صفحه پرداخت ووکامرس بررسی کنیم. به‌صورت پیش‌فرض، ووکامرس ابتدا فیلد“خیابان” ، “استان” را نمایش می‌دهد و سپس “شهر” را، اما ممکن است بخواهید ترتیب این فیلدها را تغییر دهید به ترتیب: استان، شهر، خیابان. در این مقاله، نحوه انجام این کار را با استفاده از کدهای PHP در فایل functions.php قالب وردپرس توضیح خواهیم داد.

تغییر ترتیب فیلدهای شهر و استان در صفحه پرداخت ووکامرس

جابجایی فیلدهای شهر و استان در ووکامرس

برای تغییر ترتیب فیلدهای صفحه پرداخت، باید از فیلتر woocommerce_checkout_fields استفاده کنیم. این فیلتر به ما اجازه می‌دهد ترتیب نمایش فیلدها را تغییر دهیم.

کد جابجایی فیلدهای شهر و استان در صفحه پرداخت

کد زیر را به فایل functions.php قالب فعال خود اضافه کنید:

// First state after city field added by novinmaster
add_filter( 'woocommerce_default_address_fields' , 'roka_override_address_fields', 999, 1 );
function roka_override_address_fields( $fields ) {
$persian_sort = array( 1 => 'country', 'state', 'city', 'address_1', 'address_2', 'postcode' );
foreach( $fields as $key => $field ) {
if( ! in_array( $key, $persian_sort ) ) {
$fields[ $key ][ 'persian_sort' ] = 0;
} else {
$fields[ $key ][ 'persian_sort' ] = array_search( $key, $persian_sort ); }}
uasort( $fields, function( $val1, $val2 ) use( $persian_sort ) {

if( $val1[ 'persian_sort' ] == 0 || $val2[ 'persian_sort' ] == 0 ) {
return 0; }
return $val1[ 'persian_sort' ] > $val2[ 'persian_sort' ] ? 1 : -1;
} );
$i = 10;
foreach( $fields as $key => $field ) {
$fields[ $key ][ 'priority' ] = $i;
$i += 10; }
return $fields; }

تغییر ترتیب فیلدهای شهر و استان در صفحه پرداخت ووکامرس

نحوه عملکرد کد

  • ابتدا فیلدهای billing_city (شهر) و billing_state (استان) را دریافت می‌کنیم.
  • ترتیب نمایش را به‌صورت دلخواه تغییر می‌دهیم، به‌گونه‌ای که ابتدا فیلد شهر و سپس فیلد استان نمایش داده شود.
  • در نهایت، فیلدهای جدید را جایگزین فیلدهای پیش‌فرض ووکامرس می‌کنیم.

نتیجه‌گیری

با استفاده از این روش، می‌توانید ترتیب نمایش فیلدهای شهر و استان را در صفحه پرداخت ووکامرس تغییر دهید. این تغییرات باعث بهبود تجربه کاربری می‌شود، مخصوصاً در کشورهایی که کاربران ابتدا شهر خود را وارد کرده و سپس استان را انتخاب می‌کنند. اگر نیاز به شخصی‌سازی بیشتر دارید، می‌توانید ترتیب سایر فیلدهای پرداخت را نیز به همین روش تغییر دهید.

اشتراک گذاری مطلب:
مطالب مرتبط:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *