ویرایش، حذف و اضافه کردن فیلدها در فرم تسویه حساب ووکامرس

نوین ادمین » آموزش بهینه سازی سایت » ویرایش، حذف و اضافه کردن فیلدها در فرم تسویه حساب ووکامرس

  • تاریخ ثبت : ۹ اسفند ۱۳۹۸
  • آخرین بروزرسانی : ۹ اسفند ۱۳۹۸
  • زمان مورد نیاز برای مطالعه : ۱۱ دقیقه

امتیاز / ۵. از رای

هنوز کسی رای نداده !

متاسفیم که خوشتون نیومد!

بهمون بگید چیکار کنیم بهتر بشه!

مقدمه

در مورد چی میخوایم صحبت کنیم؟

فرآیند خرید یکی از مواردیه که تاثیر بسیار مستقیمی در خرید موفق کاربران داره . اگر فرآیند خرید طولانی باشه و اطلاعات زیاد و غیر ضروری بخوایم از کاربر بگیریم احتمال انصرافش از خرید بالا میره و ممکنه کاربر سراغ فروشنده های دیگه بره. به همین دلیل باید سعی کنیم متناسب با سیستم خرید و محصولات فرآیند خرید رو به ساده ترین شکل ممکن طراحی کنیم تا کاربر رو مجاب کنیم که با ادامه روند ، خرید خودش رو تکمیل کنه.در این آموزش هرچیزی برای ویرایش فرم تسویه حساب ووکامرس نیاز داشته باشید بهتون یاد میدیم. بعد از خوندن این مقاله میتونید صفحه تسویه حساب دلخواهتون رو بدون درد و خونریزی بسازید !

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

معرفی فرم تسویه حساب ووکامرس

فرم تسویه حساب چیه ؟

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

معمولاً فرم پیش فرض زیاد برای کاربران رضایت بخش نیست و باید تغییراتی رو در اون لحاظ کرد . مثلاً اگر شما فروشنده فایل های الکترونیکی باشید نیازی به آدرس و کد پستی خریدار ندارید و برای راحتی خرید باید این فیلد ها رو حذف کرد .

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

حذف فیلدهای اضافی بدون افزونه

بازم کار با فانکشن !

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

همونطور که میبینید ما با گذاشتن علامت // در ابتدای کدهای مورد نظرمون از حذف فیلدهاشون جلوگیری کردیم. در واقع کد پایین میگه فیلدهای نام ، نام خانوادگی و تلفن نمایش داده بشه بقیه حذف بشه. میتونید همین کار رو هم با سایر کدها انجام بدید.

/* WooCommerce: The Code Below Removes Checkout Fields */
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
 function custom_override_checkout_fields( $fields ) {
 
		/* حذف فیلد نام */
	unset($fields['billing']['billing_first_name']); 
	
		/* حذف فیلد نام خانوادگی */
	unset($fields['billing']['billing_last_name']); 
	
		/* حذف فیلد نام شرکت */
	unset($fields['billing']['billing_company']); 
	
		/* حذف فیلد اول آدرس */
	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['order']['order_comments']); 
	
		/* حذف فیلد ایمیل  */
	unset($fields['billing']['billing_email']);
	
return $fields;
}

این تکه کد تمامی فیلد های پرداخت عضویت رو غیر فعال میکنه غیر از اونهایی که ابتدای خط مربوطه کاراکترهای // قرار داده شده . در واقع هر خط این تکه کد ، یکی از فیلد ها رو حذف میکنه و برای اینکه اون فیلد حذف نشه باید اول خط دو کاراکتر // استفاده کرد . اینطوری اون خط تبدیل به کامنت میشه و دیگه اثری نداره . برای اینکه دوباره فعالش کنید کافیه // رو از ابتدای اون خط بردارید .

همونطور که میبینید در این کد ما فقط اجازه دادیم نام ، نام خانوادگی و تلفن نمایش داده بشه . سایر فیلد ها رو غیر فعال کردیم . اگر کدها رو ببینید تقریبا مشخصه چه فیلدهایی رو حذف میکنه ولی برای تکمیل آموزش در خصوص هر خط توضیحاتی رو ارائه کردیم .

اضافه کردن فیلد به صفحه تسویه حساب

هر فیلدی دوست دارید به فرم تسویه حساب اضافه کنید

اضافه کردن فیلد قضیش کمی فرق میکنه ! اینجا باید کدهای حرفه ای تری نوشته بشه . اگر بخواید با کدها این کار رو انجام بدید در مقاله “How to Add Custom Fields to WooCommerce Checkout Page” روش کار رو توضیح داده و اگر کمی از کدها سر در میارید میتونید ازش استفاده کنید .

اما اگر زیاد به سر و کله زدن با کدها علاقه ندارید میتونید از افزونه ها استفاده کنید . ما بهتون افزونه  “WooCommerce Checkout Manager” رو پیشنهاد می کنیم .

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

معرفی افزونه WooCommerce Checkout Manager

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

نسخه رایگان افزونه WooCommerce Checkout Manager تمامی امکانات مورد نیاز شما رو داره و براحتی میتونید بخش های مختلف صفحه تسویه حساب رو ویرایش کنید و یا در صورت نیاز فیلدی بهش اضافه کنید . حتی در همین نسخه رایگان میتونید فیلد ها رو بر اساس متغیرهایی نمایش بدید . مثلا فیلد برای خرید محصولات یا دسته بندی خاصی فقط نمایش داده بشه .

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

تفاوت billing و shipping در فرم تسویه حساب ووکامرس

تفاوت Billing و Shipping در ووکامرس

کدوم یکی رو باید ویرایش کنیم ؟

قسمت اصلی که باهاش سر و کار داریم Billing هست و اینجا اطلاعات تماس و آدرس پستی شما قرار داره . کلیه فیلد های صفحه تسویه حساب هم بر اساس Billing هست . اما گاهی اوقات شما میخواید محصولی رو خریداری کنید و برای شخص دیگه ای ارسال کنید . مسلماً اطلاعات تماس اون شخص با شما فرق میکنه .

این امکان در سیستم ووکامرس وجود داره که صاحب حساب کاربری اطلاعات دیگه ای به عنوان Shipping ثبت کنه تا محصولات به آدرس دیگه ای بجز آدرس خودش ارسال بشه . شما میتونید جزئیات فرم رو برای هر دو حالت تغییر بدید .

ثبت نام کاربر در فرم تسویه حساب

میشه کاربر همونجا موقع خرید ثبت نام کنه ؟

اگر در بخش پیکره بندی ووکامرس تب حساب کاربری گزینه “ اجازه به مشتریان برای ایجاد حساب کاربری در هنگام تسویه حساب ” رو فعال کنید ، این امکان فراهم میشه که کاربران سایت هنگام خرید محصول نام کاربری و رمز عبورشون رو انتخاب و یک حساب کاربری بسازن . شرایط دیگه ای هم برای ساخت حساب کاربری هست که در سایر گزینه های این بخش میتونید ببینید .

اگر تیک گزینه “ اجازه به مشتریان برای ثبت سفارش بدون نیاز به نام نویسی” رو بزنید کاربران برای خرید نیاز به حساب کاربری ندارن و بصورت میهمان خرید انجام میشه و اطلاعات خرید از طریق ایمیل براشون ارسال میشه .

انتخاب هر کدوم از این حالت ها به سیستم فروش شما بستگی داره . اگر معمولاً کاربران بطور متداول از شما محصولاتی رو خریداری میکنن بهتره امکان ثبت نام فعال باشه تا هر وقت خواستن به محصولاتشون دسترسی داشته باشن .

اما اگر محصولات سایت شما زیاد نیست و کاربر یک بار از شما خرید میکنه و نیاز نداره مدام به سایت سر بزنه بهتره سیستم حساب کاربری رو غیر فعال کنید تا فرایند خرید ساده تر بشه .

عضویت در خبرنامه نوین ادمین

عضو خبرنامه بشید تا مقالات سایت رو از طریق ایمیل براتون ارسال کنیم !

.

سوالات متداول

سوالات متداول کاربران

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

از اونجایی که محصولات دیجیتال نیاز به ارسال پستی نداره میتونید فیلدهای نام ، نام خانوادگی ، ایمیل ، تلفن و کامنت رو فعال کنید و مابقی رو حذف کنید .

اگر در سایت شما هم محصولات فیزیکی هست و هم محصولات فیزیکی نیاز دارید فرم تسویه حساب متفاوتی برای این دو دسته داشته باشید . یک راهش اینه که بیاید با استفاده از افزونه WooCommerce Checkout Manager فیلد شرطی ایجاد کنید . اینطوری فیلد های مورد نظر شما فقط برای فروش محصولات یک دسته خاص فعال میشه .

یک راه بهتر هم استفاده از افزونه “Digital Goods for WooCommerce Checkout” هست . این افزونه امکانی رو در اختیار شما میزاره که بتونید یک سری فیلدها رو برای فروش محصولات دیجیتال فقط غیر فعال کنید .

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

بعضی از کاربران میپرسن مافقط یک فیلد برای ادرس اونم از نوع بزرگ نیاز داریم . برای این کار نیاز به افزونه دارید . ابتدا فیلد های که لازم ندارید مثل کشور ، شهر ، استان ، کد پستی و . . . رو غیر فعال کنید . حالا با استفاده از افزونه یک فیلد جدید ایجاد کنید و نوع اون رو textarea بزارید .

۱۲ پاسخ
    • شهاب الدین رفیعی
      شهاب الدین رفیعی گفته:

      درود بر شما :
      ابتدا باید بررسی کنید این بخش مربوط به افزونه خاصی هست یا توسط ووکامرس درج میشه . اگر مربوط به خود ووکامرس هست به بخش پیکربندی ووکامرس برید و در تب همگانی گزینه “مکان های حمل و نقل” رو غیر فعال کنید و نتیجه رو بررسی بفرمایید .

    • شهاب الدین رفیعی
      شهاب الدین رفیعی گفته:

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

  1. ممدم
    ممدم گفته:

    سلام من کشور رو دیزیبل میکنم از طریق افزونه ولی بازم غیرفعال نمیشه یک سوال امکانش هست که فیلد کامل حذف نشه و فقط کشور هارو محدود کنم؟ یعنی فیلدش باشه ولی فقط کشور ایران معلوم باشه

    پاسخ
    • شهاب الدین رفیعی
      شهاب الدین رفیعی گفته:

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

  2. محمد
    محمد گفته:

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

    پاسخ
    • شهاب الدین رفیعی
      شهاب الدین رفیعی گفته:

      درود بر شما محمد عزیز :
      متاسفانه در این خصوص راهی به ذهنمون نمیرسه. باید با طراح افزونه صحبت کنید تا امکانی رو فراهم کنه که بعد از تغییر گزینه های تسویه حساب، محاسبه کرایه محدد انجام بشه. حالا یا صفحه رفرش بشه یا اینکه به صورت آجاکس اطلاعات جدید نمایش داده بشه

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

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

خوشحال میشیم از مطالب ما در سایتتون استفاده کنید . خوشحال تر میشیم اگر یک لینکی هم از مقالتون به سایت ما بدید