انواع پست ها در وردپرس – Post Type ها در وردپرس
در این قسمت از آموزش های طراحی قالب وردپرس با انواع پست ها در وردپرس آشنا خواهیم شد. در این آموزش می آموزیم که post type های پیش فرض وردپرس که در هنگام نصب وردپرس، در دسترس ما قرار می گیرند، چه چیزهایی می باشند و همین طور با انواع پست سفارشی یا همان custom post types و نحوه کار آن ها، آشنا خواهیم شد.
انواع مختلفی از محتوا ها در وردپرس موجود می باشند. در واقع همه چیز در وردپرس یک پست (که در فایل ترجمه وردپرس فارسی، به نوشته ترجمه شده است) محسوب می گردد. انواع محتواها به صورت عادی به عنوان یک نوع از پست در وردپرس شناخته می شوند، یعنی هر چیز یک پست بوده اما نوع آن ها می تواند باهم متفاوت باشد.
این تشابه اسمی ممکن است باعث قاطی شدن بعضی از مفاهیم برای توسعه دهندگان شود و کمی آن ها را گیج کند. مثلا یک نوشته (که معادل نام انگلیسی آن پست می باشد) یکی از انواع پست ها در وردپرس می باشد. در واقع یکی از انواع پست ها در وردپرس نوشته می باشد. به همین صورت، یک صفحه نیز یکی دیگر از انواع پست ها در وردپرس (یا همان Post Types در وردپرس) می باشند.
بصورت داخلی و در کارکرد هسته وردپرس، همه انواع پست ها در وردپرس (یا همه Post Type ها در وردپرس) در یک جا و در جدولی به نام wp_posts نگهداری می شوند و تنها تفاوت آن ها در ستون یا فیلدی است که post_type نامیده می شود.
علاوه بر انواع پست ها در وردپرس که بصورت پیش فرض در وردپرس موجود می باشد، شما می توانید post type های جدید در وردپرس ایجاد کنید که با نام Custom Post Types یا پست های سفارشی، شناخته می شوند.
در بخش مربوط به “ آشنایی با Template Files در وردپرس “، به صورت خلاصه بیان شد که انواع پست ها در وردپرس به چه صورت با Template File های مختلف، به نمایش در می آیند.
از آنجایی که همه هدف Template File ها این است که محتوای سایت شما با روش درستی به کاربر نمایش داده شود، تمام هدف Post type ها در وردپرس نیز این است که برای هسته وردپرس مشخص کنند که با چه محتوایی روبرو هستند. این دسته بندی باعث می شود وردپرس درک کند که چگونه باید محتوای مورد نظر را مورد پردازش قرار دهد.
اگر بخواهیم کلی بگوییم، انواع پست ها در وردپرس به نوعی به Template File های به خصوصی در هسته وردپرس ارتباط دارند و در واقع Post Type یک محتوا برای نمایش و پردازش در یک سایت وردپرس ، به Template File مخصوص به خود متصل می باشد.
انواع پست های پیش فرض در وردپرس
در حال حاضر ۵ نوع پست مختلف برای کاربران در وردپرس موجود می باشد که هنگام نصب وردپرس، به صورت داخلی در وردپرس ایجاد می گردد:
Post type های پیش فرض در وردپرس، می توانند توسط قالب ها یا پلاگین های ساخته شده توسط شما، مورد تغییر واقع شده و یا حتی حذف گردند اما این کار توصیه نمی شود. توصیه می شود که در هنگام توسعه قالب وردپرس یا پلاگین وردپرس، انواع پست های پیش فرض وردپرس که بصورت built-in پس از نصب وردپرس، در دسترس می باشند، حذف یا پاک نشوند.
عمومی ترین انواع پست ها در قالب وردپرس که شما به عنوان یک توسعه دهنده، روزانه با آن ها بسیار سر و کار خواهید داشت، شامل Post و Page و Attachment و Custom Post Type می باشند. در این بخش در مورد پست تایپ های Revision و Navigation Menu صحبت نخواهیم کرد اما بخش هایی را در قسمت های آینده، مورد بررسی قرار خواهیم داد تا حدودی با نحوه عملکرد آن آشنا گردید.
نوع Post در وردپرس چیست و چه کاری انجام می دهد؟
Post ها در بلاگ وردپرس مورد استفاده قرار می گیرند. آن ها دارای مشخصات زیر هستند:
علاوه بر این، توسعه دهندگان قالب ها می توانند (در صورتی که تمایل داشته باشند) نوع Post را در صفحه front-page.php به نمایش در بیاورند.
Template File هایی که نوع Post را در قالب وردپرس نمایش می دهند، عبارتند از:
نوع Page در وردپرس چیست و چه وظایفی دارد؟
Page ها یک نوع پست ثابت یا همان Static Post Type ها هستند که جدا از محتواهای عادی وبلاگ و همین طور feed سایت می باشند. مشخصات Page عبارت است از:
Template File هایی که نوع Page را در قالب وردپرس نمایش می دهند، عبارتند از:
نوع Attachment در وردپرس چیست و چه کاری انجام می دهد؟
پست تایپ Attachment بصورت معمول برای نمایش عکس ها یا سایر رسانه ها (مثل ویدئو یا صدا) در محتوا استفاده می شود. همچنین آن ها می توانند برای لینک شدن به فایل های مرتبط نیز مورد استفاده واقع شوند. مشخصات Attachment عبارت است از:
Template File هایی که نوع Attachment را در قالب وردپرس نمایش می دهند، عبارتند از:
Custom Post Types یا نوع پست سفارشی چیست؟
با استفاده از نوع پست سفارشی یا همان custom post type شما می توانید پست تایپ دلخواه خودتان را در وردپرس بسازید. یک Best Practice برای وردپرس این می باشد که شما پست سفارشی خود را در قالب قرار ندهید. خود وردپرس پیشنهاد می کند که این functionality نباید در قالب شما قرار گرفته و باید به عنوان پلاگین مورد استفاده قرار گیرد.
با اینکه عموما شما پست های سفارشی خود را در قالب وردپرس توسعه نمی دهید، اما مسلما نیاز خواهید داشت که اطلاعات مربوط به custom post type های ساخته شده در یک پلاگین را در قالب خود نمایش دهید.
Template File های زیر می توانند اطلاعات انواع پست سفارشی را در قالب وردپرس شما به نمایش دربیاورند:
در نظر داشته باشید که توسعه دهندگان قالب می توانند انواع اطلاعات موجود در پست های سفارشی را با استفاده از multiple loops ، در هر template file دلخواه به نمایش دربیاورند.
قرار دادن Custom Post Types در بخش پلاگین های وردپرس
قرار دادن Custom Post Types های خود در بخش پلاگین ها، تضمین می کند که محتوای کاربران شما در سایت، دارای Portability یا قابلیت حمل بوده و در صورتی که قالب وردپرس عوض شود، محتوای ذخیره شده در پست های سفارشی شما، از سایت ناپدید نخواهند شد.
راهنما برای مطالعه بیشتر:
شما می توانید از لینک های زیر برای مطالعه بیشتر استفاده نمایید:
راهنما برای خواندن سایر مقالات سایت به صورت دسته بندی شده:
شما می توانید از طریق لینک های کاربردی زیر به سایر مقالات سایت که کاملا بصورت طبقه بندی شده وجود دارد، مراجعه نموده و از آن ها استفاده کنید:
با سلام
من چندتا پست تاپ با کد نویسی به سایتم اضافه کردم و الان می خوام که توی پست تایپ هام گالری عکس هم داشته باشه مثل پست تاپ محصولات که یدونه تصویر ساخص داره و یدونه گارلری تصاویر.
چیکار باید بکنم؟ چه کدی باید بهه پست تایپم اضافه بکنم؟
ممنون
سلام به شما دوست عزیز
عذرخواهی می کنم بابت دیر پاسخ دادن (به خاطر مشغله های فراوان کاری)
برای این کار شما باید از post meta ها استفاده کنید. برای این کار یا خودتون باید متا باکسی برای ذخیره عکس در پست تایپ هاتون در نظر بگیرید (با کد نویسی) یا ابزار های آماده مثل ACF یا CMB2 برای ایجاد این متاباکس ها استفاده کنید.
با سلام و درود
من در یک سایت فارسی نیاز دارم تا برای مقالات انگلیسی از یک صفحه دیگر که به صورت چپ به راست باشد برای لیست پست های انگلیسی استفاده کنم بعلاوه سایدبار هم در قسمت سمت راست صفحه قرار گیرد. ممنون راهنمایی کنید.
سلام به شما دوست عزیز
برای سایت هایی که می خواهند از صفحات به صورت چند زبانه در سایتشون بهره ببرند، راه حل های مختلفی وجود داره. یکی استفاده از پلاگین هایی مثل wpml هست.
البته به نظر میاد کار شما در حد کار با این پلاگین نیست و با استفاده از اون، عملا کارتون رو سنگین خواهید بود.
من برای حل این مشکل، از post_meta ها استفاده می کنم. شما باید ابتدا یک sidebar جدا، مختص این کار بسازید. برای هر پست خودتون، از یک post_meta مثلا با نام english_name استفاده کنید. هر جا لازم بود، روی هر پست، اسم انگلیسی مرتبط با اون رو ذکر کنید. حالا هر صفحه ای که نیاز دارید این سایدبار لود بشه، از custom loop در وردپرس استفاده کنید و پست های که نیاز دارید رو از دیتابیس بگیرید و نمایش بدید (البته در هنگام گرفتن دیتا ها، باید از english_name اونا استفاده کنید )
برای سایر موارد مثل راست بودن در صفحه، باید با css آشنا باشید و به صفحه مورد نظر، استایل دلخواه خودتون رو اعمال کنید.
این فوری ترین راه حلی بود که به ذهنم رسید.
سپاس فراوان
سپاس مطلب مفیدی بود. لطفا درمورد معایب تغییر نوع پست ها از پیش فرض به کاستوم هم توضیح بدید.
سلام و عرض خسته نباشید به شما دوست عزیز
متاسفانه، دقیقا متوجه سوال شما نشدم. پایه وردپرس، بر مبنای ساختار post بنا شد. با وجود custom post type عملا شما می توانید بدون نیاز به داشتن دانش در مورد دیتابیس و طراحی جدول ها در آن ها، هر Entity یا موجودیتی رو، پیاده سازی کنید.
این می تواند شامل نمونه کار، ملک، رویداد و هر چه به عنوان موجودیت می باشد، در نظر گرفته شود.
عملا شما با ساختاری که برای کاستوم پست تایپ گذاشته شده، این قابلیت را دارید که بدون در نظر گرفتن پیچیدگی های دیتابیس، به راحتی پیاده سازی کنید. بنابراین این یکی از مزیت های آن می باشد.
از آنجایی که ساختار پست و کاستوم پست، مثل هم می باشد، به همین دلیل زیاد منظور سوال شما رو درست متوجه نشدم.
ممنون میشم که بیشتر در موردش توضیح بدید تا بتونیم در موردش باهم گفتگو کنیم.
از لطف شما ممنون و سپاسگزارم
درود بببخشید سایت من فیلم و سریال post-format شامل چه بخشیه؟ یعنی سال انتشارو اینا
سلام به شما دوست عزیز
امیدوارم حال شما خوب باشه و لحظات خوبی رو در حال سپری کردن باشید.
متاسفانه دقیقا متوجه سوال شما نشدم که منظور شما چه چیز هست اما به طور کلی می تونم راهنمایی زیر به شما بکنم:
نکته اول: در وردپرس در واقع همه چیز Post می باشد. خود وردپرس دارای یک سری پست های پیش فرض یا همون Default post type هست که شامل post (که در فارسی به نوشته ترجمه شده) و page (که به فارسی برگه ترجمه شده) و attachment (که در واقع به بخش رسانه اشاره می کند) و navigation menu ( که به منو ها یا nav_menu_item اشاره می کند) و revision می باشد.
نکته دوم: حال علاوه بر این post type های پیش فرض، ما می توانیم پست تایپ های سفارشی یا همون custom post type هم برای خودمون ایجاد کنیم. نمونه رایج اون که در اکثر قالب ها استفاده می شود، نمونه کار یا portfolio هست.
برای سایت شما مثلا می تونه فیلم باشه (یا سریال باشه)
نکته سوم: برای اینکه بفهمید چه post type هایی در سایت شما (منظورم قالب و پلاگین های شماست) وجود داره، کافی است در بین کدهای بخش قالب (یعنی دایرکتوری themes) و همین طور در بین کدهای بخش پلاگین خود (یعنی دایرکتوری plugins) سرچ کنید تا ببنید چه پست تایپهای دیگری به وردپرس شما اضافه شده است.
برای اینکار می تونید از یک پلاگین به نام string locator استفاده کنید. بعد در داخل اون عبارت register_post_type رو سرچ کنید و پست تایپ ها که توسط این تابع ثبت شده اند رو مشاهده کنید. البته در داخل پنل وردپرس هم به صورت دیداری می توان این موضوع رو تشخیص داد اما برای داشتن لیست کامل و دقیق از پست تایپ ها، این روش راه مناسب تری می باشد.
نکته چهارم : سال انتشار و دیگر موارد می تونه به عنوان یک دسته بندی، یا تگ سفارشی یا حتی به عنوان یک فیلد سفارشی (که به اون custom fields گفته میشه) اضافه بشه. این بستگی به این داره که طراح قالب یا پلاگین شما از کدوم یک از اون ها استفاده کرده باشه. حتی ممکن است برای این کار جدولی، غیر از جدول های پیش فرض وردپرس به کار گرفته شده باشد و اطلاعا شما در آن ذخیره شده باشد.
به دسته بندی یا تگ سفارشی به صورت کلی custom taxonomy گفته میشه. در صورتی که می خواهید طبقه بندی های سفارشی ثبت شده در سایت وردپرس خود را ببنید کافی است همانند روشی که در بالا به آن اشاره کردم، عبارت register_taxonomy رو سرچ کنید.
نکته پنجم: در هنگام تعریف یک پست تایپ سفارشی، شما می توانید به وردپرس اعلان کنید که چه امکاناتی را برای پست شما در نظر بگیرد. این مورد را می توانید با یک خاصیت به نام supports تعریف نمایید. برای تعریف می توانید از یک آرایه استفاده کنید که مثلا شامل title و editor و سایر موارد باشد.
یکی از این موارد post-formats می باشد که می توانید بگویید این پست شما چه فرمت هایی را می تواند بپذیرد (شامل لینک، گالری، ویدئو و صدا و سایر موارد)
در صورتی که می خواهید بیشتر در این موارد اطلاعات بدست آورید، می توانید از لینک های زیر استفاده کنید:
ثبت یک پست تایب سفارشی در وردپرس
ثبت یک طبقه بندی سفارشی در وردپرس
انواع پست فرمت در وردپرس