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

ووکامرس رو که نصب میکنی، خودش چندتا برگه میسازه. یکی از مهمتریناش برگهٔ تسویهحسابه (Checkout)، همونجایی که مشتری اسم و آدرس و شمارهش رو میزنه و خریدش رو تموم میکنه.
ولی خب فیلدهای پیشفرضش به درد همهٔ فروشگاهها نمیخوره. بعضی وقتا چندتا فیلد اضافه فقط خرید رو طولانی میکنه و مشتری رو کلافه میکنه. بعضی وقتام یه اطلاعاتی لازم داری که ووکامرس اصلاً ازش نمیپرسه، مثلاً کد ملی یا اینکه مشتری کی میخواد سفارشش برسه. تو این آموزش اول میریم سراغ چیزایی که خود ووکامرس در اختیارت گذاشته، بعدش یه افزونهٔ رایگان معرفی میکنیم که کار رو کامل میکنه.
آنچه در این مقاله میخوانید
قدم اول: صفحهٔ تسویهحسابت از چه نوعیه
قبل از هر کاری باید بدونی صفحهٔ تسویهحسابت چه نوعیه، چون ووکامرس دو نوع داره و روش ویرایششون با هم فرق میکنه:
- تسویهحساب بلوکی (Checkout Block): از ووکامرس ۸٫۳ (آبان ۱۴۰۲) به بعد، هر فروشگاهی که تازه راه بیفته پیشفرض همینو داره.
- تسویهحساب کلاسیک (شورتکد): بیشتر تو فروشگاههای قدیمیتر پیداش میشه و با شورتکد
[woocommerce_checkout]کار میکنه.
تشخیصش راحته. از «برگهها» صفحهٔ تسویهحساب رو باز کن و بزن ویرایش. اگه کل فرم رو به شکل بلوک میبینی، صفحهت بلوکیه. اما اگه فقط یه بلوک شورتکد با [woocommerce_checkout] یا یه بلوک به اسم «Classic Checkout» اونجاست، صفحهت کلاسیکه.

روش اول: تنظیمات خود ووکامرس (بدون افزونه)
شاید ندونی، ولی خود ووکامرس بدون هیچ افزونهای بهت اجازه میده سه تا فیلد نام شرکت، آدرس خط دوم و تلفن رو اجباری، اختیاری یا مخفی کنی. این امکان مال ووکامرسه، نه خود وردپرس.
اگه تسویهحسابت بلوکیه:
- صفحهٔ تسویهحساب رو تو ویرایشگر باز کن.
- روی فرم تسویهحساب (بلوک Checkout Fields) کلیک کن.
- تو ستون تنظیمات، بخش Address Fields رو پیدا کن و وضعیت این سه تا فیلد رو مشخص کن.
- صفحه رو بهروزرسانی کن.

اگه تسویهحسابت کلاسیکه:
- برو به نمایش ← سفارشیسازی ← ووکامرس ← تسویهحساب.
- برای هر کدوم از این سه تا فیلد یکی از حالتهای اختیاری، اجباری یا مخفی رو انتخاب کن.
- «انتشار» رو بزن.
فقط اینو بدون که این روش فقط برای همین سه تا فیلد جواب میده. اگه بخوای یه فیلد دیگه رو برداری یا یه فیلد جدید اضافه کنی، باید بری سراغ افزونه.

برای برنامهنویسها: ووکامرس از نسخهٔ ۸٫۹ یه API رسمی برای تسویهحساب بلوکی داره. با تابع woocommerce_register_additional_checkout_field() میتونی بدون افزونه و فقط با کد، فیلد سفارشی بسازی.
روش دوم: افزونهٔ رایگان Checkout Field Editor (Checkout Manager) for WooCommerce
این افزونه رو شرکت ThemeHigh ساخته. رایگانه و بیشتر از ۴۰۰ هزار تا سایت دارن ازش استفاده میکنن. مرتب هم آپدیت میشه و ترجمهٔ فارسی هم داره. بهترین قسمتش اینه که هم با تسویهحساب کلاسیک کار میکنه، هم با بلوکی.
⚠️ حواست باشه قاطی نکنی: تو فروشگاه رسمی ووکامرس یه افزونهٔ پولی با اسم تقریباً مشابه، یعنی «Checkout Field Editor»، هست که فقط با تسویهحساب کلاسیک کار میکنه. افزونهای که ما اینجا استفاده میکنیم نسخهٔ رایگان مخزن وردپرسه.
نصب افزونه
- تو پیشخوان برو به افزونهها ← افزودن.
- عبارت
Checkout Field Editor (Checkout Manager) for WooCommerceرو سرچ کن و چک کن سازندهش ThemeHigh باشه. - «هماکنون نصب کن» رو بزن و بعدش «فعال کردن».
(آموزش کامل نصب افزونه در وردپرس)
وقتی افزونه رو از مخزن وردپرس نصب کنی، آپدیتهای امنیتیش خودکار بهت میرسه. پس آپدیتها رو عقب ننداز.

رفتن به تنظیمات
افزونه رو که فعال کنی، یه گزینه به اسم 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 استفاده کن.

درود و سپاس فراوان از جناب راد بابت آموزش های کامل و خوبشون
من مرحله به مرحله با آموزش های شما برای ساخت سایت پیش رفتم اما متاسفانه باتوجه به شرایط فعلی امکان نصب ووکامرس فارسی، درگاه زرین پال، المنتور فارسی و … وجود نداره، آیا راه حلی پیشنهاد میکنید؟
تمامی افزونه های ضروری از طریق لینک زیر در دسترس هستند
https://mihanwp.com/download-wordpress-and-plugins-files/
من دقیقا عین توضیحات شما انجام دادم ولی نمایش سایت که میزنم میبینم هیچکدوم از تغییرات اعمال نشده، درصورتی که یا غیر فعال کردمشون یا حذفشون کردم ولی هیچکدوم موقعه ی نمایش سایت هیچ تغییری نکردن
مشکل از چیه؟؟
دلایل زیادی می تونه داشته باشه مثلا می تونید به صورت موقت کلیه افزونه ها غیر از ووکامرس رو غیرفعال کنید و با قالب پیش فرض وردپرس تست کنید.
سلام وقت بخیر من میخواستم توی صفحه پرداختم امکان انتخاب تاریخ تحویل رو به صورت شمسی بزار ماین افزونه امکانش رو دارد ؟ و اگر نه اگر افزونه برای اینکار معرفی کنید ممنون میشم
سلام وقت بخیر. برای اینکار باید پلاگین اختصاصی بنویسید
سلام روزتون بخیر
تو قسمت checkout editor زمانی که فیلد ایمیل غیر ضروری میکنم بازم تو قسمت برگه پرداخت به صورت ضروری نمایش داده میشود چیکار کنم این مشکل حل بشه ؟
سلام برای ووکامرس ایمیل ضروری هست و راهی نیست.
سلام ارادت،این پلاگین رو نصب کردم و بعد از زدن اعمال تغیرات باز هم همون سبد خرید پیش فرض قالب واسم میاد!!حتی یه پلاگین دیگه هم امتحان کردم اما تغیری نکرد…چطور میشه درستش کرد؟؟
سلام منم همین مشکل رو دارم، صفحه پرداخت تغییر میکنه ولی در سبد خرید رفتن به مرحله پرداخت همون پیش فرض قالب واسم میاد؟ چیکار کنم؟
کاری که تو این صفحه گفته شده رو انجام بدین
https://mihanwp.com/woocommerce-gateway-error/
درود .از 2 بهمن هست که بدون دستکاری تنظیمات فیلد های تسویه و پرداخت ،برچسب فیلد موبایل حذف شده و بالای آن هیچ چیزی نوشته نیست .مشتری هم چون نمیدونه چی باید بنویسه کد پستی رو دوباره مینویسه و بنده دچارمشکل در ارسال سفارشها شدم .
افزونه ویرایشگر فرم پرداخت برای ووکامرس را هم غیر فعال کردم ، باز تغییری پیدا نکرد .
فیلد موبایل رو از درون افزونه (ویرایشگر فرم پرداخت) غیر فعال و از نو تعریف کردم و برچسب گذاری کردم ،باز هم برچسب به آن اضافه نشد و فقط یک فیلد خالی نمایش داده میشه که بلای آن هیچ تعریفی نشده که این فیلد مربوط به چی هست ! لطفا راهنمایی بفرمایید که واقعا دچار مشکل شدم. تشکر
سلام از اپدیت ووکامرس هست این آموزش رو ببینید: https://mihanwp.com/woocommerce-gateway-error/
سلام ببخشید میشه کمک کنید لطفا
من میخام تو سایتم 2 نوع محصول بفروشم و برای هر کدوم یه فیلد خاص که خودم میخام بزارم نه واسه همه یکی امکان پذیر هست؟؟
سلام وقتتون بخیر
خواهش میکنم برای این مشکلم یک راه حل ارائه کنید
من میخوام یک سری فیلد دلخواه ( مثلا کد ملی ) در صفحه جزئیات حساب کاربران اضافه کنم.
این فیلد هم در صفحه جزئیات حساب برای کاربر قابل نمایش و ویرایش باشه.
در صفحه پرداخت ( زمانی که کاربر داره خریدش رو انجام میده )
در صفحه لیست کاربران ( مدیر وقتی داره کاربران رو میبینه در کنار نام و نام خانوادگی و ایمیل بتونه فیلد کد ملی رو هم ببینه )
خواهش میکنم یک راه حلی ارائه بدین. من تمام راهکاری های موجود رو رفتم نشد که نشد.
ممنون میشم کمک کنید.
درود بر شما از میهن پنل استفاده کنید. نام فیلد را برابر با نام فیلدی که با این افزونه در تسویه حساب ایجاد میکنید یکی قرار بدید نمایش داده خواهد شد.
سلام ودرود. من هم مشکلی مشابه دارم. با این افزونه یک فیلد کدملی ساختم اما در صفحه جزییات صورت حساب سفارشات نمایش داده نمی شود و حتما باید به قسمت ویرایش سفارش بروم تا بتوان فیلد کدکلی را ببینم. راهی وجود دارد که کدملی در کنار نام و .. در جزییات صورتحساب برایم نمایش داده شود؟؟؟؟
سلام بله امکانش هست توی لیست فیلدها نمایش در فرم رو فعال کنید.
با نسخه رایگان میهن پنل این مشکل رفع میشود/؟
بله
سلام،
ببخشید یه سوال داشتم، من تو سایت فروشگاهم شماره تلفن مشتری که در قسمت صورت حساب وارد میکنه ثبت نمیشه نه در فاکتور نه در قسمت حمل و نقل ، امکانش هست راهنمایی کنید،
ممنون
سلام این افزونه رو غیر فعال و تست کنید. اگر حل شد باید نام فیلد تلفن رو برابر با phone قرار بدید.
این افزونه نسخه معمولی است که فقط یک نوع فیلد رو میتونه اضافه کنه . من دنبال افزونه پرو هستم ( حالا چه پولی چه نال شده ) و ترجیحا فارسی شده که بتونیم فیلد های دیگه مثل آپلود فایل رو هم اضافه یا کم کنیم یا ادیت کنیم.
ممنونم
متاسفانه توی سایتمون موجود نیست. برای حذف کردن افزونه حرفه ای هست اما اضافه کردن خیر
سلام افزونه خوبی بود اما نمیدونم چرا هرکاری میکنم هی اخطار میزند:
لطفا برای ادامه یک آدرس وارد کنید.
لطفا راهنمایی کنید ممنونم
درود
دقیقا کجا این خطا را دریافت می کنید؟
من هم دقیقا این مشکل را دارم و اگر بخوام دقیق تر بگم بعد از گوگل کردن این مشکل دیدم که تقریبا هر سایت یا فرومی که این افزونه معرفی شده یه عده آدم اومدن کامنت گذاشتند که این مشکل “لطفا برای ادامه یک آدرس وارد کنید.” هست.
اما هیچ جایی جواب داده نشده.
ممنون میشم که سایت میهن وردپرس راه حل این مشکل در اختیار کاربران قرار بده.
درود. افزونه ووکامرس فارسی رو غیر فعال کنید حل میشه.
سلام راه حل مشکل ساده است
از تنظیمات ووکامرس > حمل ونقل > گزینه های حمل و نقل
تیک اشکال زدایی رو فعال کنید و مقصد حمل و نقل رو در حالت اجبار حمل و نقل به آدرس صورتحساب مشتری قرار بدین.
مشکل برطرف میشه
سلام انجام دادم ولی مشکلم برطرف نشد
این خطا با همون حذف افزونه ووکامرس فارسی حل میشه.
سلام
ممنون از شما بابت معرفی این افزونه کاربردی و توضیحات کوتاه ولی مفیدتون?