📌 امروز یک سناریوی کاملاً واقعی سر پروژهها:
میخوای برای «پورتفولیو»، «دورهها» یا «پروژههای مشتریها» یه بخش جدا از Posts داشته باشی، با آدرس و صفحه آرشیو جدا، بدون اینکه همهچیز قاطی نوشتههای وبلاگ بشه. اینجا دقیقاً جای یک Custom Post Type تمیزه.
طبق مستندات رسمی وردپرس:
https://developer.wordpress.org/reference/functions/register_post_type/
میشه این کار رو خیلی شیک داخل یک پلاگین کوچک شخصی انجام داد تا وابسته به Theme نباشه 👌
💡 ایده کار:
۱️⃣ یک پلاگین سبک مثل my-portfolio میسازیم.
۲️⃣ داخلش یک Custom Post Type به اسم project رجیستر میکنیم.
۳️⃣ برایش URL تمیز، پشتیبانی از Thumbnail و Editor و Category میذاریم.
مثال پایه (کاملاً واقعی و تستشده روی آخرین نسخه وردپرس):
'Projects',
'singular_name' => 'Project',
'add_new' => 'Add New',
'add_new_item' => 'Add New Project',
'edit_item' => 'Edit Project',
'new_item' => 'New Project',
'view_item' => 'View Project',
'search_items' => 'Search Projects',
'not_found' => 'No projects found',
'menu_name' => 'Projects',
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'menu_icon' => 'dashicons-portfolio',
'show_in_rest' => true, // پشتیبانی Gutenberg
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
'taxonomies' => array( 'category', 'post_tag' ),
'rewrite' => array( 'slug' => 'projects' ),
);
register_post_type( 'project', $args );
}
add_action( 'init', 'myportfolio_register_cpt' );
🧩 چند نکته کاربردی:
• show_in_rest => true باعث میشه این CPT تو Gutenberg و REST API در دسترس باشه؛ بعداً برای ساخت Gutenberg Block اختصاصی برای پروژهها خیلی به درد میخوره.
• rewrite -> slug رو میشه عوض کرد؛ مثلاً portfolio یا هر چیزی که برای سئوی سایت بهتره.
• بهتره این کد تو پلاگین جدا باشه، نه داخل functions.php، چون با عوض شدن Theme همه پروژهها نمیپرن.
• بعد از فعالکردن پلاگین، یک بار از منوی Settings > Permalinks روی Save کلیک کن تا Rewriteها رفرش بشن و /projects کار کنه.
📚 برای تنظیمات پیشرفتهتر (Capabilities، REST Schema، و...) حتماً این مستند رسمی رو نگاه کن:
https://developer.wordpress.org/plugins/post-types/registering-custom-post-types/
🔥 این کار پایه خیلی از سایتهای حرفهای وردپرسیه: سایت آموزشی، آژانس، Resume سایت شخصی، فروش خدمات و…
امتحانش روی یک سایت تست واقعاً کمهزینه و فوقالعاده آموزندهست؛ اگر مفید بود، برای بقیه وردپرسیها هم بفرست 😊
🔖 #Wordpress #وردپرس #WordPress #Custom_Post_Type #Plugin_Development #Gutenberg #PHP #ایجاد_پستتایپ #وردپرس
👤 Developix
💎 Channel: