فهرست مستندات پروژه
فرمها و فیلد تاریخ
اعتبارسنجی ایرانی و ورودی تاریخ شمسی را در فرمسازهای پشتیبانیشده به کار ببرید.
روشن کردن اتصال
در Persian Kit > یکپارچهسازی بخش فرمها را باز کنید. هر اتصال پیشفرض روشن است ولی به فعال بودن افزونه مربوط نیاز دارد. کلید آن، انتخابگر و اعتبارسنجی همان اتصال را کنترل میکند. کلید جداگانه تاریخ شمسی روی تاریخ نمایشی ایمیل CF7، مقدار ACF، اعلان Forminator و نمایش ورودی و ایمیل Gravity Forms اثر دارد. برای توقف تبدیل ورودی، به خاموش کردن نمایش تاریخ تکیه نکنید. در سایت چندزبانه، قواعد زبان هم اعمال میشوند.
کاربر تاریخ شمسی انتخاب میکند ولی مقدار ارسالی میلادی است. WPForms مقدار نمایشی را هم نگه میدارد که پایین توضیح داده شده است. مثلا 1405/07/10 برابر 2026-10-02 است؛ قالب ذخیره را خود فرمساز تعیین میکند. بررسی شناسههای ایرانی به معنی استعلام هویت یا مالکیت از بانک و سازمان دولتی نیست.
Contact Form 7
از دکمههای تگ ایرانی در ویرایشگر فرم (CF7 6.0+) استفاده کنید یا این تگها را بنویسید:
[mobile_ir* mobile]
[national_id national-code]
[postcode_ir postcode]
[card_ir card]
[iban_ir iban]
[date appointment]
علامت * فیلد را اجباری میکند. شماره +989121234567 به 09121234567 تبدیل میشود و تلفن ثابت برای فیلد موبایل رد میشود. نتیجه معتبر فیلدهای دیگر، کد ملی ۱۰ رقمی، کد پستی ۱۰ رقمی، کارت ۱۶ رقمی یا IR و ۲۴ رقم شباست. mail tag متناظر را در تب Mail بگذارید. فیلد تاریخ انتخابگر شمسی دارد ولی تاریخ میلادی میفرستد. برای ورودی خود CF7 از [date appointment gregorian] استفاده کنید. در ایمیل، [_raw_appointment] یا [_format_appointment "Y-m-d"] خروجی میلادی را نگه میدارد و mail tag معمول از گزینه نمایش پیروی میکند. اعداد فارسی فیلد tel/number/range/date پیش از بررسی اصلاح میشوند. پیامها را در تب Messages بررسی کنید. اینها form tag خود CF7 هستند، نه shortcode تازه وردپرس.
ACF
فیلدهای Date Picker و Date Time Picker در صفحه ویرایش، بلوک ACF و acf_form() انتخابگر میگیرند. مقدار ذخیرهشده همچنان Ymd یا Y-m-d H:i:s است. با روشن بودن نمایش شمسی، قالب برگشتی Y/m/d باعث میشود get_field() برای ۲ اکتبر ۲۰۲۶ مقدار 1405/07/10 بدهد. قالبهای ماشینی مثل Ymd، Y-m-d، Y-m-d H:i:s، U و c، پاسخ REST و مقدار خام get_field('name', $post_id, false) میلادی میمانند. مقدار نمایشی را برای ذخیره پردازش نکنید؛ مقدار خام را بخوانید یا با persian_kit_acf_jalali_value نمایش شمسی را کنار بگذارید. فیلدهای ACF 4 که save_format دارند انتخابگر خودشان را نگه میدارند.
Forminator 1.50+
فیلد Date را در حالت Calendar بگذارید. ورودی عددی و فهرست کشویی میلادی میمانند. برای نگه داشتن تقویم خود فرمساز، کلاس persian-kit-gregorian را در Additional CSS Classes اضافه کنید. محدودیت شروع، پایان و تاریخ گذشته پشتیبانی میشود؛ روزهای هفته، تاریخها و بازههای غیرفعال و محدودیت وابسته به فیلد دیگر هنگام ارسال بررسی میشوند ولی همه در انتخابگر خاکستری نمیشوند. اعلان و صفحه Submissions میتوانند شمسی باشند؛ export، webhook، داده ذخیرهشده و آدرس redirect میلادی میمانند.
برای بررسی ایرانی، یکی از این کلاسها را در Styling > Additional CSS Classes فیلد Text بگذارید:
| کلاس | نتیجه ارسال معتبر |
|---|---|
persian-kit-mobile | موبایل محلی مثل 09121234567 |
persian-kit-national-id | ۱۰ رقم |
persian-kit-postcode | ۱۰ رقم |
persian-kit-card | ۱۶ رقم |
persian-kit-iban | IR و ۲۴ رقم |
کلاسها روی Text، Phone و Number شناخته میشوند؛ برای حفظ صفر اول از Text استفاده کنید. اولین کلاس ایرانی ملاک است. ورودی Phone، Number و Currency اعداد فارسی را اصلاح میکند. مرورگر ممکن است در type=number ورودی فارسی را پیش از رسیدن به JavaScript پاک کند؛ از ورودی دارای جداکننده و mask یا Text استفاده کنید. نظرسنجی و آزمون پوشش داده نمیشوند.
Gravity Forms 2.9+
گروه Iranian fields یا برچسب ترجمهشده آن در Add Fields، فیلد موبایل، کد ملی، کد پستی، کارت و شبا دارد. مثلا موبایل را اضافه و 09121234567 را با اعداد فارسی ارسال کنید؛ مقدار محلی و یکسانشده ذخیره میشود. Date Picker، Date Field و Date Drop Down تاریخ شمسی میپذیرند. برای خروج از این رفتار، Gregorian calendar زیر Date Format را تیک بزنید. تاریخ حتی در ویرایش entry میلادی ذخیره میشود. merge tag نمایشی میتواند شمسی باشد؛ :raw، :urlencode، redirect و export میلادی میمانند. ورودی تلفن، عدد، تعداد، ساعت، تاریخ، کد پستی و قیمت واردشده توسط مشتری اعداد را اصلاح میکند؛ مقدار گزینههای ازپیشتعریفشده حفظ میشود. فیلد Address نوع ایران و فهرست واحد پول تومان و ریال میگیرد.
WPForms 1.9.1+، از جمله Lite
در Add Fields از گروه Iranian fields برای همان پنج نوع شناسه یا فیلد جداگانه تاریخ شمسی استفاده کنید. شناسه فیلد تاریخ persian-kit-date است؛ ورودی میلادی ارسال میشود؛ date میلادی با قالب Y-m-d، unix نیمهشب UTC و value تاریخ نمایشی است که در صفحه شمسی، شمسی میماند. ایمیل از مقدار نمایشی استفاده میکند. ورودی عدد و قیمت، اعداد فارسی را اصلاح میکند. فیلدهای پولی Date / Time، Phone و Address در این اتصال پوشش داده نشدهاند. فیلد سفارشی شمسی را امتحان کنید و فرض نکنید فیلد نسخه پولی جایگزین میشود.
خاموش کردن قابلیتها
کارت تنظیمات فرمهایی را که از فیلد سفارشی استفاده میکنند نشان میدهد. اگر فقط اتصال را خاموش کنید، فیلدهای سفارشی CF7، Gravity Forms و WPForms به ورودی متن بدون بررسی تبدیل میشوند؛ تاریخ شمسی WPForms هم همینطور است. Gravity Forms تعریف آدرس ایران و واحد پول را نگه میدارد. فیلد Forminator به فیلد معمول بدون بررسی Persian Kit برمیگردد.
غیرفعال کردن کل Persian Kit این حالت جایگزین را هم حذف میکند: CF7 ممکن است تگ ناشناخته را متن نشان دهد، Gravity Forms فیلد بدون ورودی بسازد و WPForms فیلد سفارشی را حذف کند. پیش از غیرفعالسازی، فیلدها را جایگزین کنید. خاموش کردن نمایش، entryهای قبلی را تبدیل نمیکند و اصلاح ورودی را برنمیگرداند. مرتبط: تنظیمات، تاریخ، سازگاری و ورودی تاریخ سفارشی.