ایجاد و بهروزرسانی پست در فرانتاند
Bricks 2.1 اکشن فرم «Create post» و «Update post» را معرفی میکند که به کاربران اجازه میدهد محتوای هر post type را در فرانتاند بسازند و بهروزرسانی کنند.
در این راهنما، listingهای ملک برای custom post type سفارشی property را میسازیم و بهروزرسانی میکنیم.
مهم
فرمهای دارای اکشن «Create post» یا «Update post» فقط در صورتی render میشوند که کاربر فعلی capabilityهای لازم برای ایجاد/بهروزرسانی یک پست جدید برای post type انتخابشده یا ویرایش پست موجود انتخابشده را داشته باشد.
نحوه ایجاد/بهروزرسانی پست از طریق ارسال فرم
از آنجایی که فرآیند ساخت فرم برای ایجاد یا بهروزرسانی یک پست تقریباً یکسان است، هر دو اکشن را در دستورالعملهای گامبهگام زیر بهصورت یکجا خلاصه میکنیم.
مرحله ۱ — افزودن فیلدهای فرم برای دادههای پست
فیلدهای فرم را برای تمام دادههای پستی که میخواهید هنگام ایجاد یا بهروزرسانی یک پست از طریق المان Form ذخیره کنید بسازید:
| داده پست | نوع فیلد |
|---|---|
| Post title | Text |
| Post content | Rich text |
| Post excerpt | Textarea |
| Featured image | Image |
| Post meta | مناسبترین نوع فیلد |
| Taxonomy | Checkbox، radio، select |
Post meta
مطمئن شوید مناسبترین نوع فیلد را برای هر داده post meta که میخواهید تغییر دهید انتخاب کنید.
Bricks بهطور خودکار گزینههای فیلد checkbox، radio یا select را از ACF یا Meta Box تشخیص میدهد، وقتی meta key را بهدرستی map میکنید، بنابراین نیازی ندارید آنها را در خود فیلد فرم مشخص کنید. برای جزئیات بیشتر در این باره، ویدیوی Academy در این صفحه را تماشا کنید.
Taxonomy
فیلدهای فرم checkbox، radio یا select برای تغییر taxonomy های پست مثل دستهبندی پست یا برچسبها مناسبترند. میتوانید options را خالی بگذارید. Bricks بهطور خودکار options را با terms آن taxonomy، وقتی بهدرستی map شود، پر میکند.
مرحله ۲ — انتخاب اکشن فرم «Create post» یا «Update post»
بسته به اینکه میخواهید یک پست بسازید یا بهروزرسانی کنید، اکشن مورد نظر را هنگام ویرایش المان Form انتخاب کنید.

مرحله ۳ — پیکربندی «Create post» یا «Update post»
هنگام ساخت یک پست جدید، post type ای که میخواهید برای آن پست جدید بسازید را زیر control group «Create post» انتخاب کنید:

هنگام بهروزرسانی یک پست موجود، پست خاصی که میخواهید بهروزرسانی کنید را زیر control group «Update post» انتخاب کنید:

فیلد «Post to update» را خالی بگذارید تا پست فعلی بهروزرسانی شود. این همان کاری است که در ویدیوی Academy انجام دادیم، چون فرم update post در صفحه single post قرار داشت.
مرحله ۴ — Field mapping
آخرین و مهمترین مرحله این است که فیلدهای فرم خود را با دادههای پستی که باید هنگام ارسال فرم تغییر کنند map/متصل کنید. کنترلهای mapping نیز درون control group های «Create post» و «Update post» قرار دارند.
Mapping دادههای ساده پست
برای دادههای ساده پست مثل Post title، Post content، Post excerpt و Featured image، فقط باید فیلد فرم متناظر را از dropdown انتخاب کنید:

Mapping post meta
هنگام بهروزرسانی post meta از طریق یک فیلد فرم، باید «Meta key» صحیح را ارائه دهید، فیلد فرم متناظر را زیر «Meta value» انتخاب کنید و «Sanitization method» صحیح را انتخاب کنید.

گزینههای checkbox، radio، select در ACF و Meta Box که بهطور خودکار populate میشوند
Bricks بهطور خودکار تشخیص میدهد که آیا یک meta key پست به ACF یا Meta Box تعلق دارد، و options فیلد را بهطور خودکار برای شما پر میکند، بنابراین نیازی ندارید هنگام ساخت فیلد فرم در المان Form، «Options» مشخص کنید.
Taxonomy ها
Map کردن یک فیلد فرم به یک taxonomy ساده است. زیر «Taxonomies»، taxonomy ای که میخواهید بهروزرسانی کنید را انتخاب کنید، بهعلاوه فیلد فرم متناظر که استفاده از نوع checkbox، radio یا select را برای آن پیشنهاد میکنیم.
دوباره، نیازی نیست taxonomy terms را بهصورت دستی وارد کنید، مگر اینکه بخواهید انتخاب کاربر را محدود کنید. Bricks بهطور خودکار فیلد فرم را با taxonomy terms برای شما پر میکند.
فیلترها (Filters)
Bricks از برخی نوعهای فیلد با ACF و Meta Box بهصورت out-of-the-box پشتیبانی میکند، اما پشتیبانی از تمام نوعهای فیلد ممکن نیست. اما میتوانید تمام ارسالهای فرم و نحوه ذخیره post meta را با استفاده از دو فیلتر زیر بهصورت برنامهنویسی مدیریت کنید:
