وردپرس یکی از محبوبترین سیستمهای مدیریت محتوا (CMS) در جهان است که به دلیل انعطافپذیری بالا، به کاربران اجازه میدهد انواع مختلفی از محتوا را مدیریت کنند. یکی از ویژگیهای جذاب وردپرس، پست تایپ (Post Type) است که به شما این امکان را میدهد تا علاوه بر پستها و صفحات معمولی، انواع سفارشی محتوا را نیز ایجاد کنید. در این مقاله، ابتدا توضیح میدهیم که پست تایپ چیست و سپس در 4 مرحله یاد میگیریم که چگونه یک پست تایپ سفارشی در وردپرس بسازیم.
پست تایپ (Post Type) چیست؟
پست تایپ (Post Type) در وردپرس نوعی ساختار محتوا است که تعیین میکند یک مطلب چگونه در سایت نمایش داده شود. بهطور پیشفرض، وردپرس دارای پست تایپهای نوشته (post) و برگه (page) است، اما میتوان پست تایپهای سفارشی نیز ایجاد کرد.
به عنوان مثال، ووکامرس یک پست تایپ جدید به نام محصولات (product) اضافه میکند که مخصوص فروشگاههای اینترنتی است. همچنین میتوانید پست تایپهایی مثل نمونه کار، دوره آموزشی، اخبار یا تستیمونیال ایجاد کنید.
برای مشاهده پست تایپ یک بخش خاص در وردپرس، کافیست به نوار آدرس مرورگر در پیشخوان وردپرس نگاه کنید؛ اگر در آدرس عبارتی مانند post_type=product دیدید، یعنی آن بخش یک پست تایپ سفارشی است.
راههای ایجاد پست تایپ جدید:
استفاده از افزونههایی مثل Custom Post Type UI
اضافه کردن کد به فایل functions.php
برخی افزونهها مانند ووکامرس خودشان پست تایپ اختصاصی اضافه میکنند.
با استفاده از پست تایپها، میتوان مدیریت محتوا را حرفهایتر کرده و بخشهای متنوعی به سایت اضافه کرد.
در وردپرس، پست تایپ نوعی از محتوا است که برای سازماندهی مطالب مختلف در سایت استفاده میشود. بهطور پیشفرض، وردپرس دارای چند نوع پست تایپ اصلی است:
Post (نوشتهها): پستهای وبلاگی که معمولاً در صفحه اصلی یا آرشیو نمایش داده میشوند.
Page (برگهها): محتوای استاتیک مانند “درباره ما” یا “تماس با ما”.
Attachment (پیوستها): فایلهای آپلود شده مانند تصاویر، ویدیوها و اسناد.
Revision (بازبینیها): نسخههای ذخیرهشده از تغییرات پستها.
Nav Menu (آیتمهای منو): آیتمهای مربوط به منوی سایت.
اما در بسیاری از موارد، سایتها به پست تایپهای سفارشی نیاز دارند، مثلاً محصولات برای فروشگاهها، پورتفولیو برای طراحان، رویدادها برای سایتهای خبری و …
چگونه یک پست تایپ سفارشی در وردپرس بسازیم؟
برای ایجاد یک Post Type سفارشی در وردپرس، میتوان از دو روش استفاده کرد:
استفاده از افزونه (مانند Custom Post Type UI)
ایجاد دستی با کدنویسی (اضافه کردن کد به فایل functions.php)
مرحله 1: اضافه کردن کد برای ثبت پست تایپ سفارشی
اولین قدم این است که کد مربوط به ایجاد یک پست تایپ را در فایل functions.php قالب وردپرس خود اضافه کنید. فرض کنیم میخواهیم یک پست تایپ به نام Portfolio ایجاد کنیم.
function custom_post_type_portfolio() {
$args = array(
‘labels’ => array(
‘name’ => ‘نمونه کارها’,
‘singular_name’ => ‘نمونه کار’,
),
‘public’ => true,
‘has_archive’ => true,
‘menu_icon’ => ‘dashicons-portfolio’,
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’, ‘excerpt’, ‘comments’),
);
register_post_type(‘portfolio’, $args);
}
add_action(‘init’, ‘custom_post_type_portfolio’);
در این کد:
register_post_type برای ایجاد پست تایپ جدید استفاده میشود.
labels برای تنظیم نامهای نمایشی در پیشخوان وردپرس است.
public مشخص میکند که این پست تایپ عمومی باشد.
has_archive تعیین میکند که بایگانی برای این نوع محتوا فعال باشد.
menu_icon برای تنظیم آیکون پنل مدیریت است.
supports مشخص میکند که این پست تایپ از چه قابلیتهایی (مانند تصویر شاخص، ویرایشگر محتوا و …) پشتیبانی کند.
مرحله 2: نمایش پست تایپ در منوی مدیریت وردپرس
اگر کد بالا را در فایل functions.php اضافه کنید، گزینه “نمونه کارها” در منوی پیشخوان وردپرس ظاهر میشود. برای مشاهده تغییرات، کافی است صفحه داشبورد وردپرس را رفرش کنید.
مرحله 3: ایجاد قالب برای نمایش پست تایپ سفارشی
بعد از ایجاد پست تایپ، نیاز داریم که وردپرس این نوع پست را در سایت نمایش دهد. برای این کار دو فایل جدید در قالب وردپرس ایجاد کنید:
single-portfolio.php (برای نمایش یک نمونه کار بهصورت تکی)
archive-portfolio.php (برای نمایش آرشیو همه نمونه کارها)
مثال ساده برای single-portfolio.php:
<?php get_header(); ?>
<?php while (have_posts()) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<div><?php the_content(); ?></div>
<?php endwhile; ?>
<?php get_footer(); ?>
مرحله 4: اضافه کردن پست تایپ به صفحه اصلی یا صفحات دلخواه
برای نمایش این پست تایپ در صفحه اصلی، باید کوئری وردپرس را تغییر دهید. این کار را در index.php یا home.php قالب خود انجام دهید:
$query = new WP_Query(array(
‘post_type’ => ‘portfolio’,
‘posts_per_page’ => 6
));
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post();
?>
<h2><?php the_title(); ?></h2>
<p><?php the_excerpt(); ?></p>
<a href=”<?php the_permalink(); ?>”>ادامه مطلب</a>
<?php
endwhile;
wp_reset_postdata();
else :
echo ‘هیچ نمونه کاری یافت نشد!’;
endif;
پست تایپهای سفارشی در وردپرس به شما این امکان را میدهند که انواع مختلف محتوا را بهصورت حرفهای مدیریت کنید. در این مقاله، یاد گرفتیم که چطور در 4 مرحله ساده، یک پست تایپ سفارشی مانند Portfolio را با استفاده از کدنویسی در وردپرس ایجاد کنیم:
ثبت پست تایپ سفارشی در وردپرس
- نمایش آن در پیشخوان وردپرس
- ایجاد قالبهای مناسب برای نمایش محتوا
- نمایش پست تایپ در صفحات مختلف سایت
اگر میخواهید بدون نیاز به کدنویسی پست تایپ بسازید، میتوانید از افزونه Custom Post Type UI استفاده کنید. اما روش کدنویسی انعطاف بیشتری دارد و امکان سفارشیسازی کامل را فراهم میکند. حالا شما میتوانید پست تایپ اختصاصی خود را ایجاد کرده و سایت وردپرسی خود را حرفهایتر مدیریت کنید! 🚀
چطور بفهمیم یک بخش در وردپرس از پست تایپ استفاده میکند؟
گاهی اوقات نیاز دارید بدانید که یک بخش خاص در وردپرس از پست تایپ سفارشی استفاده میکند یا خیر. یک روش سریع و ساده برای این کار وجود دارد که حتی بدون دانش فنی میتوانید از آن استفاده کنید.
روش بررسی
۱. وارد پیشخوان وردپرس شوید و به قسمت برگهها یا نوشتهها بروید.
2. روی همه برگهها کلیک کنید.
3. در نوار آدرس مرورگر خود، URL صفحه را بررسی کنید.
اگر در آدرس چیزی مشابه این مشاهده کردید:
wp-admin/edit.php?post_type=page
این عبارت نشان میدهد که بخش برگهها در وردپرس، یک پست تایپ سفارشی است و نام (شناسه) آن page میباشد.
در وردپرس، هر پست تایپ یک نام منحصربهفرد دارد که در کدنویسی بسیار کاربردی است. بهعنوان مثال:
برای نوشتهها، نام post است.
برای محصولات ووکامرس، نام product است.
این نامها در هنگام کدنویسی بسیار مهم هستند، زیرا تعیین میکنند که وردپرس چگونه محتوای این پست تایپها را پردازش و نمایش دهد.
مثال کاربردی در کدنویسی
اگر بخواهید آخرین محصولات فروشگاه را در بخشی از سایت نمایش دهید، باید از نام پست تایپ product استفاده کنید. نمونه کد:
array(
‘post_type’ => ‘product’,
‘posts_per_page’ => 6,
‘product_cat’ => ‘apparel’,
‘orderby’ => ‘date’
);
در این کد، مقدار post_type برابر با product تنظیم شده است که به وردپرس میگوید تنها محصولات را نمایش دهد.
روشهای دیگر برای تشخیص پست تایپ
علاوه بر روش بررسی نوار آدرس، میتوانید از مستندات افزونهها نیز استفاده کنید. بسیاری از افزونههای وردپرس هنگام انتشار، راهنمای کامل (Documentation) را ارائه میدهند که در آن، نام پست تایپ موردنظر هم ذکر شده است.
اگر قصد دارید یک پست تایپ سفارشی در وردپرس ایجاد کنید، سه روش اصلی وجود دارد:
استفاده از افزونهها – سادهترین روش برای کاربران غیربرنامهنویس
کدنویسی دستی – مناسب برای توسعهدهندگان حرفهای
فعالسازی پست تایپ از طریق افزونهها – مانند ووکامرس که بهطور خودکار پست تایپ محصولات را اضافه میکند.
حالا بیایید این روشها را بررسی کنیم.
افزودن پست تایپ جدید با افزونههای کمکی
اگر به کدنویسی آشنا نیستید، این روش بهترین گزینه است.
افزونههایی مانند Custom Post Type UI (CPT UI) به شما کمک میکنند تا بدون نیاز به کدنویسی، یک پست تایپ جدید ایجاد کنید.
مراحل کار با افزونه
افزونه CPT UI را از مخزن وردپرس نصب و فعال کنید.
وارد تنظیمات افزونه شوید و یک نام پست تایپ جدید انتخاب کنید.
فیلدهای موردنظر مانند عنوان، نامک، و تنظیمات دیگر را پر کنید.
تغییرات را ذخیره کنید و حالا میتوانید از پست تایپ جدید استفاده کنید.
نکته مهم: بعد از افزودن پست تایپ جدید، باید صفحات مربوط به نمایش آرشیو و جزئیات آن را سفارشیسازی کنید. در غیر این صورت، وردپرس ممکن است محتوای این پست تایپ را با قالب نوشتهها نمایش دهد که چندان حرفهای نخواهد بود.
ایجاد پست تایپ سفارشی با کدنویسی
اگر با کدنویسی PHP آشنایی دارید، میتوانید پست تایپ دلخواه خود را با افزودن یک قطعه کد به فایل functions.php ایجاد کنید. مثال:
function create_custom_post_type() {
register_post_type(‘books’,
array(
‘labels’ => array(
‘name’ => __(‘کتابها’),
‘singular_name’ => __(‘کتاب’)
),
‘public’ => true,
‘has_archive’ => true,
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’),
‘menu_icon’ => ‘dashicons-book’,
)
);
}
add_action(‘init’, ‘create_custom_post_type’);
در این مثال:
یک پست تایپ “کتابها” با نام books ایجاد شده است.
این پست تایپ در پیشخوان وردپرس با آیکون کتاب نمایش داده میشود.
قابلیت ویرایش عنوان، متن و تصویر شاخص برای آن فعال شده است.
۳. فعالسازی پست تایپ از طریق افزونهها
برخی از افزونهها هنگام نصب، پست تایپهای خاص خود را بهطور خودکار اضافه میکنند. مثلا:
ووکامرس
پست تایپ product را اضافه میکند.
افزونههای مدیریت رویداد
پست تایپ event را ایجاد میکنند.
در این روش، شما نیازی به ایجاد دستی پست تایپ ندارید، زیرا خود افزونه آن را مدیریت میکند.
اگر میخواهید بدانید یک بخش از وردپرس از پست تایپ استفاده میکند، کافیست نوار آدرس مرورگر را بررسی کنید. پست تایپها در وردپرس نقش مهمی دارند و در بسیاری از موارد برای ایجاد محتوای سفارشی از آنها استفاده میشود.
برای ایجاد پست تایپ سفارشی سه روش وجود دارد:
استفاده از افزونهها
سریع و بدون نیاز به دانش فنی
استفاده از کدنویسی دستی
انعطافپذیر برای توسعهدهندگان
استفاده از افزونههایی که خودشان پست تایپ اضافه میکنند – مانند ووکامرس برای محصولات
حالا نوبت شماست!
اگر به دنبال راهی ساده هستید، از افزونه CPT UI استفاده کنید.
اگر میخواهید کنترل کاملی روی سایت خود داشته باشید، کدنویسی دستی را امتحان کنید.
اگر افزونهای نصب کردهاید و به دنبال نام پست تایپ آن هستید، نوار آدرس مرورگر را بررسی کنید.
سوالات متداول
پست تایپ در وردپرس نوعی قالب محتوایی است که تعیین میکند مطالب چگونه در سایت نمایش داده شوند. علاوه بر پستهای معمولی و برگهها، میتوان پست تایپهای سفارشی مانند محصولات، نمونه کارها یا رویدادها ایجاد کرد.
دیدگاهتان را بنویسید