آموزش کدهای وردپرس, ووکامرس

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

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

ما قبلاً نحوه پنهان کردن یادداشت های سفارش را در صفحه پرداخت ووکامرس آموزش دادیم. اما این بار، هدف ما جابجایی آن است – و به طور خاص توضیحات سفارش را از موقعیت پیش فرض خود حذف می کنیم (تحت فرم حمل و نقل) و دوباره آنها را در فرم صورتحساب اضافه می کنیم.

همانطور که می توانید تصور کنید، این یک قطعه ترکیبی است: (1) بخش توضیحات سفارش را حذف می کنیم و (2) یک قسمت صورتحساب جدید ایجاد می کنیم. سرانجام، (3) همچنین باید این مقدار فیلد جدید را در متای فیلد سفارشی یادداشت های سفارش اصلی ذخیره کنیم.

اگر درک این مسئله دشوار است، نگران نباشید – شما فقط لازم است تا یک قطعه کد را به فایلی از قالب وردپرس سایت خود اضافه کنید و سپس جادو را ببینید!

در ادامه نحوه انتقال توضیحات سفارش به فرم جزئیات صورتحساب در صفحه پرداخت ووکامرس را به شما آموزش می دهیم.

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

نحوه انتقال توضیحات سفارش به فرم جزئیات صورتحساب در صفحه پرداخت ووکامرس

برای انتقال توضیحات سفارش به بالا در فرم جزئیات صورتحساب صفحه پرداخت ووکامرس فقط کافی است تا قطعه کد زیر را به فایل functions.php قالب وردپرس سایت خود اضافه کنید:

توجه: پیشنهاد می کنیم برای اینکه بعد از آپدیت قالب تغییرات شما از بین نرود، از چایلد تم استفاده کنید.

 // 1. Hide default notes

add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );

// 2. Create new billing field

add_filter( 'woocommerce_checkout_fields' , 'themefars_custom_order_notes' );

function themefars_custom_order_notes( $fields ) {
$fields['billing']['new_order_notes'] = array(
'type' => 'textarea',
'label' => 'یادداشت های سفارش',
'class' => array('form-row-wide'),
'clear' => true,
'priority' => 999,
);
return $fields;
}

// 3. Save to existing order notes

add_action( 'woocommerce_checkout_update_order_meta', 'themefars_custom_field_value_to_order_notes', 10, 2 );

function themefars_custom_field_value_to_order_notes( $order_id, $data ) {
if ( ! is_object( $order_id ) ) {
$order = wc_get_order( $order_id );
}
$order->set_customer_note( isset( $data['new_order_notes'] ) ? $data['new_order_notes'] : '' );
wc_create_order_note( $order_id, $data['new_order_notes'], true, true );
$order->save();
}

به پایان این آموزش رسیدیم، امیدواریم که نحوه جابجایی و انتقال توضیحات سفارش به بالا در صفحه پرداخت ووکامرس را یاد گرفته باشید. همچنین ممکن است بخواهید آموزش های زیر را هم ببینید:

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

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