SHET45

افزودن، ویرایش و حذف فیلدهای صفحهٔ تسویه‌حساب ووکامرس

افزودن، ویرایش و حذف فیلدهای صفحهٔ تسویه‌حساب ووکامرس

ووکامرس رو که نصب می‌کنی، خودش چندتا برگه می‌سازه. یکی از مهم‌تریناش برگهٔ تسویه‌حسابه (Checkout)، همون‌جایی که مشتری اسم و آدرس و شماره‌ش رو می‌زنه و خریدش رو تموم می‌کنه.

ولی خب فیلدهای پیش‌فرضش به درد همهٔ فروشگاه‌ها نمی‌خوره. بعضی وقتا چندتا فیلد اضافه فقط خرید رو طولانی می‌کنه و مشتری رو کلافه می‌کنه. بعضی وقتام یه اطلاعاتی لازم داری که ووکامرس اصلاً ازش نمی‌پرسه، مثلاً کد ملی یا اینکه مشتری کی می‌خواد سفارشش برسه. تو این آموزش اول می‌ریم سراغ چیزایی که خود ووکامرس در اختیارت گذاشته، بعدش یه افزونهٔ رایگان معرفی می‌کنیم که کار رو کامل می‌کنه.

قدم اول: صفحهٔ تسویه‌حسابت از چه نوعیه

قبل از هر کاری باید بدونی صفحهٔ تسویه‌حسابت چه نوعیه، چون ووکامرس دو نوع داره و روش ویرایششون با هم فرق می‌کنه:

  • تسویه‌حساب بلوکی (Checkout Block): از ووکامرس ۸٫۳ (آبان ۱۴۰۲) به بعد، هر فروشگاهی که تازه راه بیفته پیش‌فرض همینو داره.
  • تسویه‌حساب کلاسیک (شورت‌کد): بیشتر تو فروشگاه‌های قدیمی‌تر پیداش می‌شه و با شورت‌کد
    کار می‌کنه.

تشخیصش راحته. از «برگه‌ها» صفحهٔ تسویه‌حساب رو باز کن و بزن ویرایش. اگه کل فرم رو به شکل بلوک می‌بینی، صفحه‌ت بلوکیه. اما اگه فقط یه بلوک شورت‌کد با

یا یه بلوک به اسم «Classic Checkout» اونجاست، صفحه‌ت کلاسیکه.

صفحهٔ تسویه‌حساب کلاسیک
صفحهٔ تسویه‌حساب کلاسیک

روش اول: تنظیمات خود ووکامرس (بدون افزونه)

شاید ندونی، ولی خود ووکامرس بدون هیچ افزونه‌ای بهت اجازه می‌ده سه تا فیلد نام شرکت، آدرس خط دوم و تلفن رو اجباری، اختیاری یا مخفی کنی. این امکان مال ووکامرسه، نه خود وردپرس.

اگه تسویه‌حسابت بلوکیه:

  1. صفحهٔ تسویه‌حساب رو تو ویرایشگر باز کن.
  2. روی فرم تسویه‌حساب (بلوک Checkout Fields) کلیک کن.
  3. تو ستون تنظیمات، بخش Address Fields رو پیدا کن و وضعیت این سه تا فیلد رو مشخص کن.
  4. صفحه رو به‌روزرسانی کن.
بخش Address Fields در تنظیمات بلوک تسویه‌حساب
بخش Address Fields در تنظیمات بلوک تسویه‌حساب

اگه تسویه‌حسابت کلاسیکه:

  1. برو به نمایش ← سفارشی‌سازی ← ووکامرس ← تسویه‌حساب.
  2. برای هر کدوم از این سه تا فیلد یکی از حالت‌های اختیاری، اجباری یا مخفی رو انتخاب کن.
  3. «انتشار» رو بزن.

فقط اینو بدون که این روش فقط برای همین سه تا فیلد جواب می‌ده. اگه بخوای یه فیلد دیگه رو برداری یا یه فیلد جدید اضافه کنی، باید بری سراغ افزونه.

افزودن، ویرایش و حذف فیلدهای صفحهٔ تسویه‌حساب ووکامرس
تنظیمات تسویه‌حساب شورت کدی

برای برنامه‌نویس‌ها: ووکامرس از نسخهٔ ۸٫۹ یه API رسمی برای تسویه‌حساب بلوکی داره. با تابع woocommerce_register_additional_checkout_field() می‌تونی بدون افزونه و فقط با کد، فیلد سفارشی بسازی.

روش دوم: افزونهٔ رایگان Checkout Field Editor (Checkout Manager) for WooCommerce

این افزونه رو شرکت ThemeHigh ساخته. رایگانه و بیشتر از ۴۰۰ هزار تا سایت دارن ازش استفاده می‌کنن. مرتب هم آپدیت می‌شه و ترجمهٔ فارسی هم داره. بهترین قسمتش اینه که هم با تسویه‌حساب کلاسیک کار می‌کنه، هم با بلوکی.

⚠️ حواست باشه قاطی نکنی: تو فروشگاه رسمی ووکامرس یه افزونهٔ پولی با اسم تقریباً مشابه، یعنی «Checkout Field Editor»، هست که فقط با تسویه‌حساب کلاسیک کار می‌کنه. افزونه‌ای که ما اینجا استفاده می‌کنیم نسخهٔ رایگان مخزن وردپرسه.

نصب افزونه

  1. تو پیشخوان برو به افزونه‌ها ← افزودن.
  2. عبارت Checkout Field Editor (Checkout Manager) for WooCommerce رو سرچ کن و چک کن سازنده‌ش ThemeHigh باشه.
  3. «هم‌اکنون نصب کن» رو بزن و بعدش «فعال کردن».

(آموزش کامل نصب افزونه در وردپرس)

وقتی افزونه رو از مخزن وردپرس نصب کنی، آپدیت‌های امنیتیش خودکار بهت می‌رسه. پس آپدیت‌ها رو عقب ننداز.

افزونه Checkout Field Editor (Checkout Manager) for WooCommerce
افزونه Checkout Field Editor (Checkout Manager) for WooCommerce

رفتن به تنظیمات

افزونه رو که فعال کنی، یه گزینه به اسم Checkout Form زیر منوی ووکامرس اضافه می‌شه. روش کلیک کن. می‌بینی که تنظیمات تسویه‌حساب کلاسیک و بلوکی از هم جدان:

رفتن به تنظیمات افزونه
رفتن به تنظیمات افزونه
  • اگه صفحه‌ت کلاسیکه، فیلدها رو تو بخش Classic Checkout Fields عوض کن.
  • اگه بلوکیه، برو سراغ بخش Block Checkout Fields.

خیلی‌ها دقیقاً همین‌جا گیر می‌کنن. تغییرات رو تو بخش اشتباه ذخیره می‌کنن و بعد تعجب می‌کنن که چرا تو صفحهٔ تسویه‌حساب هیچی عوض نشده.

انتخاب نوع صفحه پرداخت
انتخاب نوع صفحه پرداخت

ویرایش فیلدها

فیلدها تو سه گروه چیده شدن: صورت‌حساب (Billing)، حمل‌ونقل (Shipping) و اطلاعات تکمیلی (Additional). تو هر گروه این کارا رو می‌تونی بکنی:

افزودن، ویرایش و حذف فیلدهای صفحهٔ تسویه‌حساب ووکامرس
افزودن، ویرایش و حذف فیلدهای صفحهٔ تسویه‌حساب ووکامرس
  • فیلد جدید اضافه کنی: دکمهٔ افزودن فیلد رو بزن، نوع فیلد و اسم و برچسبش رو تعیین کن، بگو اجباری باشه یا اختیاری، و ذخیره کن.
  • فیلدهای موجود رو ویرایش کنی: برچسب، متن راهنما (placeholder) و اجباری بودنش رو عوض کن.
  • فیلدها رو فعال، غیرفعال یا حذف کنی.
  • ترتیب فیلدها رو جابه‌جا کنی: کافیه بکشی و رها کنی.
  • اعتبارسنجی بذاری: برای چیزایی مثل ایمیل، تلفن یا عدد.
  • برگردی به حالت اول: دکمهٔ Reset to Default Fields همهٔ تغییرات رو پاک می‌کنه و فیلدهای اصلی ووکامرس رو برمی‌گردونه.
افزودن فیلد جدید
افزودن فیلد جدید

انواع فیلد تو نسخهٔ رایگان

  • تسویه‌حساب کلاسیک: حدود ۲۰ نوع فیلد، مثل متن، عدد، ایمیل، تلفن، لیست کشویی، چندانتخابی، دکمهٔ رادیویی، چک‌باکس، تاریخ، زمان، ناحیهٔ متن، عنوان و پاراگراف.
  • تسویه‌حساب بلوکی: فعلاً ۱۰ نوع فیلد، یعنی متن، عدد، ناحیهٔ متن، لیست کشویی، رادیویی، چک‌باکس، ایمیل، URL، پاراگراف و عنوان. سازنده‌ش گفته تو نسخه‌های بعدی انواع بیشتری اضافه می‌کنه.

یه مثال کاربردی برای فروشگاه‌های ایرانی: تو گروه صورت‌حساب یه فیلد عددی «کد ملی» بساز، یا تو بخش اطلاعات تکمیلی یه لیست کشویی برای «بازهٔ زمانی تحویل» بذار.

چندتا نکتهٔ مهم قبل از حذف فیلدها

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

جمع‌بندی

اگه فقط می‌خوای نام شرکت، آدرس دوم یا تلفن رو مخفی یا اختیاری کنی، همون تنظیمات خود ووکامرس کارت رو راه می‌ندازه. ولی اگه می‌خوای فیلد جدید اضافه کنی یا کل فرم رو مدیریت کنی، افزونهٔ رایگان Checkout Field Editor (Checkout Manager) for WooCommerce انتخاب خوبیه. فقط یادت نره تغییرات رو تو بخشی بدی که با نوع صفحهٔ تسویه‌حسابت، کلاسیک یا بلوکی، جوره.

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

فیلدهایی که با افزونه ساختم تو صفحهٔ تسویه‌حساب نمایش داده نمی‌شن. مشکل چیه؟

به احتمال زیاد تغییرات رو تو بخش اشتباه ذخیره کردی. اگه صفحهٔ تسویه‌حسابت با شورت‌کد ساخته شده، باید فیلدها رو تو Classic Checkout Fields اضافه کنی. اگه بلوکیه، باید بری سراغ Block Checkout Fields. برای اینکه مطمئن شی صفحه‌ت چه نوعیه، برگرد به «قدم اول» همین آموزش.

این افزونه واقعاً رایگانه؟

آره. همهٔ کارایی که تو این آموزش گفتیم، یعنی اضافه کردن و ویرایش و حذف و جابه‌جا کردن فیلدها، با نسخهٔ رایگان مخزن وردپرس انجام می‌شه. فقط حواست باشه با افزونهٔ پولی «Checkout Field Editor» تو فروشگاه رسمی ووکامرس قاطیش نکنی.

چرا تو تسویه‌حساب بلوکی انواع فیلد کمتری دارم؟

چون پشتیبانی افزونه از تسویه‌حساب بلوکی هنوز کامل نشده. الان تو حالت بلوکی ۱۰ نوع فیلد در دسترسه، ولی تو حالت کلاسیک حدود ۲۰ نوع. سازنده‌ش گفته کم‌کم انواع بیشتری اضافه می‌کنه، پس آپدیت‌ها رو دنبال کن.

یه فیلد رو مخفی کردم و حالا سفارش ثبت نمی‌شه. چرا؟

احتمالاً اون فیلد هنوز «اجباری» مونده. ووکامرس فیلدهای اجباری رو سمت سرور هم چک می‌کنه. پس اگه مشتری فیلد رو نبینه ولی پر کردنش اجباری باشه، سفارش ثبت نمی‌شه. قبل از مخفی کردن، فیلد رو اختیاری کن و بعد یه سفارش آزمایشی بزن.

اگه تغییرات خراب شد، می‌تونم برگردم به حالت اول؟

آره، با دکمهٔ Reset to Default Fields همهٔ تغییرات پاک می‌شه و فیلدهای اصلی ووکامرس برمی‌گرده. فقط یادت باشه فیلدهای سفارشی‌ای که ساختی هم با این کار از بین می‌رن.

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

آره. افزونه با WPML، Polylang و Loco Translate سازگاره. برای متن‌هایی که خودت ساختی، مثل برچسب فیلدهای جدید، از WPML یا Polylang استفاده کن.

نظر شما در این مورد چیه؟

  1. U411663۱۴ اردیبهشت ۱۴۰۵

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

  2. U411231۶ اردیبهشت ۱۴۰۵

    من دقیقا عین توضیحات شما انجام دادم ولی نمایش سایت که میزنم میبینم هیچکدوم از تغییرات اعمال نشده، درصورتی که یا غیر فعال کردمشون یا حذفشون کردم ولی هیچکدوم موقعه ی نمایش سایت هیچ تغییری نکردن
    مشکل از چیه؟؟

    • تیم پشتیبانیتیم پشتیبانی۲۳ اردیبهشت ۱۴۰۵

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

  3. U398547۲۱ آبان ۱۴۰۴

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

    • رضا راد۲۲ آبان ۱۴۰۴

      سلام وقت بخیر. برای اینکار باید پلاگین اختصاصی بنویسید

  4. U388114۷ شهریور ۱۴۰۴

    سلام روزتون بخیر
    تو قسمت checkout editor زمانی که فیلد ایمیل غیر ضروری میکنم بازم تو قسمت برگه پرداخت به صورت ضروری نمایش داده میشود چیکار کنم این مشکل حل بشه ؟

    • رضا راد۸ شهریور ۱۴۰۴

      سلام برای ووکامرس ایمیل ضروری هست و راهی نیست.

  5. U340210۲۳ اسفند ۱۴۰۲

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

    • U367127۲۲ بهمن ۱۴۰۳

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

    • U367943۲۵ اسفند ۱۴۰۳

      کاری که تو این صفحه گفته شده رو انجام بدین
      https://mihanwp.com/woocommerce-gateway-error/

  6. U331184۳ بهمن ۱۴۰۲

    درود .از 2 بهمن هست که بدون دستکاری تنظیمات فیلد های تسویه و پرداخت ،برچسب فیلد موبایل حذف شده و بالای آن هیچ چیزی نوشته نیست .مشتری هم چون نمیدونه چی باید بنویسه کد پستی رو دوباره مینویسه و بنده دچارمشکل در ارسال سفارشها شدم .
    افزونه ویرایشگر فرم پرداخت برای ووکامرس را هم غیر فعال کردم ، باز تغییری پیدا نکرد .
    فیلد موبایل رو از درون افزونه (ویرایشگر فرم پرداخت) غیر فعال و از نو تعریف کردم و برچسب گذاری کردم ،باز هم برچسب به آن اضافه نشد و فقط یک فیلد خالی نمایش داده میشه که بلای آن هیچ تعریفی نشده که این فیلد مربوط به چی هست ! لطفا راهنمایی بفرمایید که واقعا دچار مشکل شدم. تشکر

  7. U310197۱۸ آذر ۱۴۰۰

    سلام ببخشید میشه کمک کنید لطفا
    من میخام تو سایتم 2 نوع محصول بفروشم و برای هر کدوم یه فیلد خاص که خودم میخام بزارم نه واسه همه یکی امکان پذیر هست؟؟

  8. U21995۱۶ اسفند ۱۳۹۹

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

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

    خواهش میکنم یک راه حلی ارائه بدین. من تمام راهکاری های موجود رو رفتم نشد که نشد.
    ممنون میشم کمک کنید.

    • رضا راد۱۷ اسفند ۱۳۹۹

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

      • U39282۵ اردیبهشت ۱۴۰۰

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

        • رضا راد۵ اردیبهشت ۱۴۰۰

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

      • U39282۵ اردیبهشت ۱۴۰۰

        با نسخه رایگان میهن پنل این مشکل رفع میشود/؟

  9. U30064۱۷ مرداد ۱۳۹۹

    سلام،
    ببخشید یه سوال داشتم، من تو سایت فروشگاهم شماره تلفن مشتری که در قسمت صورت حساب وارد میکنه ثبت نمیشه نه در فاکتور نه در قسمت حمل و نقل ، امکانش هست راهنمایی کنید،
    ممنون

    • رضا راد۱۸ مرداد ۱۳۹۹

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

  10. کاربر مهمان۲۴ آبان ۱۳۹۷

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

    • رضا راد۲۴ آبان ۱۳۹۷

      متاسفانه توی سایتمون موجود نیست. برای حذف کردن افزونه حرفه ای هست اما اضافه کردن خیر

  11. کاربر مهمان۱۱ آبان ۱۳۹۷

    سلام افزونه خوبی بود اما نمیدونم چرا هرکاری میکنم هی اخطار میزند:
    لطفا برای ادامه یک آدرس وارد کنید.
    لطفا راهنمایی کنید ممنونم

    • U10690۱۱ آبان ۱۳۹۷

      درود
      دقیقا کجا این خطا را دریافت می کنید؟

    • کاربر مهمان۲۶ اسفند ۱۳۹۷

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

      • رضا راد۲۶ اسفند ۱۳۹۷

        درود. افزونه ووکامرس فارسی رو غیر فعال کنید حل میشه.

    • U26757۲۳ فروردین ۱۳۹۹

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

      • U326452۳۰ مرداد ۱۴۰۲

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

        • رضا راد۳۰ مرداد ۱۴۰۲

          این خطا با همون حذف افزونه ووکامرس فارسی حل میشه.

  12. U8551۱۰ آبان ۱۳۹۷

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

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسخارج از ساعات کاری هستیم؛ دستیار هوش مصنوعی پاسخگوی شماست.هوش مصنوعی

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.