اضافه کردن برچسب جدید برای تاییدیهها در گراویتی فرم
افزونه گراویتی فرم در وردپرس، افزونهای قابل توسعه است و عملکرد بخشهای مختلف آن را با کمک نوشتن کدهای php میتوان توسعه داد. در این نوشته، روش اضافه کردن برچسب( Tag ) به قسمت تاییدیهها را آموزش میدهیم.
برای انجام این کار از فیلترهای وردپرس استفاده میکنیم و کدهای لازم را در فایل functions.php قالب میافزاییم.
۱- اضافه کردن برچسب به بخش ویرایشگر
ابتدا لازم است تا برچسب دلخواه را به بخش ویرایشگر تاییدیه اضافه کنیم. در این مرحله، برچسب ما فقط قابل انتخاب خواهد بود و در عمل کارکردی ندارد.
فیلدی که میخواهیم آن را به بخش تاییدیهها اضافه کنیم، برای نمایش تاریخ به شکل صحیح فارسی است. در حالت عادی فیلد تاریخ در جهت معکوس نشان داده میشود و ما فیلد جدید با نام «date_ymd» را اضافه میکنیم:
1 2 3 4 5 |
add_filter( 'gform_custom_merge_tags', 'roka_add_date_tag', 20, 1 ); function roka_add_date_tag( $tags ) { $tags[] = array( 'tag' => '{date_ymd}', 'label' => 'تاریخ صحیح فارسی' ); return $tags; } |
اکنون اگر به بخش ویرایشگر مراجعه کنید، یک برچسب جدید با عنوان «تاریخ صحیح فارسی» مشاهده میکنید.
۲- اضافه کردن عملکرد به برچسب جدید
اگر فیلد جدید را به ویرایشگر اضافه کنید، عملکردی ندارد. با استفاده از کدهای زیر، به آن عملکرد صحیح را اضافه میکنیم:
1 2 3 4 5 6 |
add_filter( 'gform_replace_merge_tags', 'roka_gform_replace_merge_tags', 20, 7 ); function roka_gform_replace_merge_tags( $text, $form, $entry, $url_encode, $esc_html, $nl2br, $format ) { $local_date_ymd = date_i18n( 'Y/m/d', GFCommon::get_local_timestamp( time() ), true ); $text = str_replace( '{date_ymd}', $url_encode ? urlencode( $local_date_ymd ) : $local_date_ymd, $text ); return $text; } |
در قطعه کد بالا از کلاس GFCommon که مربوط به افزونهی گراویتی فرم است نیز کمک گرفتهایم.
استفاده از پارامترهای فرم پر شده در محاسبات
اطلاعات اصلی فرم در متغیر «form» و اطلاعاتی که کاربر در فرم پر کرده است در متغیر «entry» قابل مشاهده و استفاده هستند. برای مثال جهت مشاهدهی شناسهی فرم و شناسهی اطلاعات پر شده توسط کاربر از کدهای زیر میتوانیم استفاده کنیم:
1 2 |
echo $entry[ 'id' ]; echo $entry[ 'form_id' ]; |
با بررسی سایر پارامترهای ارسالی به تابع میتوانید اطلاعات کاملتری در مورد فرم و اطلاعات پر شده توسط کاربر به دست بیاورید.
برنامهنویسی افزونههای سفارشی برای وردپرس و گراویتی فرم
اگر میخواهید برای وردپرس یا گراویتی فرم افزونه سفارشی بنویسید، با ما تماس بگیرید.