خلاصه
در این آموزش یاد میگیرید که نوع محتوای سفارشی چیست و برای چه مواردی استفاده میشه. همچنین یک CCT با امکانات جت انجین میسازیم.
پلاگین JetEngine مجموعه ای از ابزارهای انعطاف پذیره که میتونه وب سایت شما رو پویاتر کنه و به شما اجازه میده از کارهای دستی زیادی جلوگیری کنین. عملکرد نوع محتوای سفارشی به شما کمک میکنه تا داده ها رو در وب سایت به طور موثرتری سازماندهی کنین. با این حال، ممکنه از خودتون بپرسید که تفاوت بین Custom Content Type و Custom Post Types چیه. به اختصار CPT و CCT میگیم همچنین به فارسی نوع پست سفارشی و نوع محتوای سفارشی. در این آموزش جت انجین از المنتور فارسی بطور دقیق براتون توضیح میدم و روند ایجاد یک نوع محتوای سفارشی جدید رو میبینیم.
چرا به CCT احتیاج داریم؟
برای توضیح بهتر این سؤال، باید کمی بیشتر به ریشه های وب سایت بپردازیم. میدونید که همه وب سایت ها از داده ها تشکیل شدن. این داده ها در جداول ویژه SQL روی سرور ذخیره میشن. وقتیکه کاربر هر کدوم از صفحه های سایت رو باز میکنه یا وقتیکه به دنبال بعضی از پستهاست، وردپرس با جستجو در جداول SQL داده های لازم رو پیدا میکنه و بعد نمایش میده. این مقدمه رو داشته باشید حالا بریم به اصل مطلب.
وقتی نوع پست سفارشی ایجاد میکنیم، این موارد همون نوع داده پست رو دارن به این معنی که در همون جدول SQL در کنار همه پست های دیگه ذخیره میشن. وقتی کاربر درخواست یک پست رو میکنه، وردپرس باید از کل جدول SQL حاوی پست ها جستجو کنه. اگه تعداد زیادی پست در وب سایتتون نداشته باشید، تأخیر قابل توجه نیست؛ اما، هرچه CPT بیشتری ایجاد کنین جدول و سرعت بارگیری صفحه پایینتر میشه.
حالا اگه یک نوع محتوای سفارشی ایجاد کنین، در واقع یک جدول SQL جدید در پایگاه داده وب سایتتون برای اون ایجاد میکنین. وقتی کاربر موردی رو از اون نوع محتوا جستجو میکنه، وردپرس جدول جداگانه ای رو بررسی میکنه. دیگه جدول شلوغ پستها سرچ نمیشه و درخواستها به طور چشمگیری سریعتر انجام میشن. به خصوص اگه اون نوع محتوا برای داده هایی باشه که کاربر به اونها دسترسی نداره مثل سفارشات. نیاز نیست در وبسایت نمایش داده بشه اما برای استفاده داخلی نیاز دارین. این داده ها در یک جدول جداگانه ذخیره میشن و سرعت جستجو رو کاهش نمیدن.
به طور پیش فرض، موارد محتوای سفارشی دارای صفحات منفرد شخصی نیستن و به غیر از شبکه لیست در وب سایت نشون داده نمیشن. با این حال، اگه شما نیاز به نمایش آیتمهای نوع محتوا در برگهها دارین، میتونین نوع محتوا رو با نوع ارسال پیوند بدین. مثلا، سایت فروش کتاب دارین، نوع محتوای کتاب ایجاد کردین و برای هر کتاب قصد طراحی برگه مجزا دارین.
اینطوری، هر آیتم محتوای سفارشی دارای یک پست متناظر با اون نوع محتوا هست. در این حالت هم جدول SQL با پست های زیادی درگیر نمیشه چون تمام فراداده های آیتم در جدول محتوای سفارشی ذخیره میشن و نه در جدول پستها. به هر ترتیب، سرعت وب سایت شما آسیب جدی نمیبینه.
به طور خلاصه، اگه قصد دارین تعداد زیادی آیتم به وب سایت خودتون اضافه کنین، به ویژگی نوع محتوای سفارشی نیاز دارین. یک CCT ایجاد شده وب سایت شما رو برای کاربر سریع و راحت نگه میداره.
چطوری CCT ایجاد کنیم؟
حالا، اگه مطمئنین که به قابلیت نوع محتوای سفارشی نیاز دارین، بیایید مراحل ایجادش رو یکی یکی انجام بدیم.
گام اول: تابع CCT رو فعال کنیم
به داشبورد وردپرس برید و جت انجین > داشبورد جت انجین را باز کنید. در برگه ماژولها، کادر تأیید نوع محتوای سفارشی رو پیدا کنین، علامت بزنین و ذخیره کنین.
گام دوم: ایجاد CCT در جت انجین
وقتی تنظیمات ذخیره شده فعال میشن، صفحه بارگیری میشه و گزینه “انواع محتوای سفارشی” رو در زیر منوی جت انجین مشاهده میکنین، روش کلیک کنید.
روی افزودن جدید کلیک کنید.
گام سوم: تعیین تنظیمات
منوی تنظیمات شامل سه بخشه. حالا با ابزارها آشنا میشیم.
تنظیمات عمومی
- نام: یک عنوان برای نوع محتوای سفارشی وارد میکنیم.
- نامک: Slug نوعی شناسه ست که برای برخی از قابلیت های دینامیک JetEngine استفاده میشه. اینجا فقط از حروف لاتین بدون فاصله استفاده کنید.
- نام جدول دیتابیس: نحوه نامگذاری جدول SQL تازه ایجاد شده در پایگاه داده. این ویژگی همچنین با افزودن یک نامک به شناسه “wp_jet_cct_” به طور خودکار ایجاد میشه. میتونین به نام دلخواه هم تغییر بدین.
- دارای صفحه مستقل: اگه قصد دارین نوع محتوای سفارشی رو با نوع پست سفارشی متصل کنین، این ضامن رو روشن کنین. در این حالت، سه ویژگی دیگه ظاهر مشه:
- نوع پست مرتبط: نوع پست موردنظر برای اتصال رو انتخاب کنین.
- فیلد عنوان: در قسمت تنظیمات فیلدها، فیلدهایی رو برای نوع محتوا ایجاد میکنین. داده های فیلدی که در این منوی کشویی انتخاب کنین به طور خودکار در قسمت عنوان پست قرار میگیرن. به همین دلیل باید فقط متن و فیلدهای مربوط به عدد رو برای این ویژگی انتخاب کنین.
- فیلد محتوا: فیلدی که در این منوی کشویی انتخاب می کنین به طور خودکار در قسمت محتوای پست قرار میگیرن. توجه داشته باشید که فقط فیلدهایی که با متن یا اعداد پر شده به درستی در پست نمایش داده میشن.
- آیکن منو: نوع محتوای سفارشی در منوی داشبورد نمایش داده میشه. اینجا میتونین براش آیکن انتخاب کنین.
فیلدها
با کلیک بر روی دکمه فیلد جدید، میتونین فیلدهای متا رو به تعداد دلخواه برای نوع محتوای سفارشی اضافه کنین. انواع متا فیلدها رو ببینید.
ستونهای ادمین
میتونین فیلدهای متا رو به عنوان ستون مدیریت اون پست انتخاب کنید. فقط کافیهدکمه های مورد نظر رو روشن کنین. به شما اجازه داده میشه پیشوند و پسوند رو اضافه کنین و انتخاب کنین که آیا ستون قابل مرتب سازی باشه یا نه.
بعد از همه تنظیمات، دکمه “افزودن نوع محتوا” رو فشار بدین. CCT تازه ایجاد شده رو در منوی داشبورد پیدا کنین، بازش کنین و پر کردن موارد رو شروع کنین. بعد از کلیک روی دکمه “افزودن جدید“، پنجره ویرایش آیتم مثل تصویر زیره:
لیستینگ در نوع محتوای سفارشی
روند ایجاد لیست آیتمها برای CCT دقیقاً مانند نوع پست سفارشیه. که در آموزش ایجاد پست و لیست سفارشی توضیح دادیم. فقط دو موردش متفاوته:
اول اینکه: بعد کلیک بر روی دکمه “افزودن جدید” در برگه منوی جت انجین > لیستها، باید گزینه “نوع محتوای سفارشی” رو در فهرست کشویی Source Listing انتخاب کنین.
دوم اینکه: شما باید گزینه “Post / Term / User / Object Data” رو در منوی کشویی Source از ویجتها یا بلوکهای پویای جت انجین انتخاب کنین. در این صورت، میتونین قسمت های متا Custom Content Type رو در لیست کشویی Object Field پیدا کنین.
با ایجاد یک لیست برای CCT، می تونین یک لیست Listing برای اون ایجاد کنین و هر نوع فیلتری رو اعمال کنین و در هر صفحه ای که نیاز دارین نمایش بدین.
تبریک میگم بهتون شما یاد گرفتین که چطوری یک نوع محتوای سفارشی ایجاد کنین و با استفاده از ویژگی های جت انجین به نوع پست سفارشیتون اختصاص بدین.