WordPress پیش‌فرض Post و Page داره. ولی برای Blog، Product، Event، Book انواع محتوای اختصاصی نیاز هست. Custom Post Type راه‌حله.

CPT مزایا

سازماندهی: محتوای خاص جدا
Custom Fields: فیلدهای اختصاصی
Template: طراحی جدا
SEO مستقل

ساخت CPT با کد

function register_book_cpt() {
  register_post_type('book', [
    'labels' => ['name' => 'کتاب‌ها'],
    'public' => true,
    'has_archive' => true,
    'supports' => ['title', 'editor', 'thumbnail']
  ]);
}
add_action('init', 'register_book_cpt');

Parameters

public: در UI ظاهر بشه
has_archive: archive page
supports: title، editor، thumbnail، etc
rewrite: URL slug
menu_icon: آیکون منو
show_in_rest: REST API + Gutenberg

ساخت با پلاگین

Custom Post Type UI پلاگین. بدون کد.

Taxonomy

register_taxonomy برای دسته‌بندی CPT:
register_taxonomy('genre', 'book', [...]);

Custom Fields

Advanced Custom Fields (ACF): بهترین
Metabox: قدرتمند
Pods: کامل

Query CPT

$books = new WP_Query([
  'post_type' => 'book',
  'posts_per_page' => 10
]);

Template Hierarchy

single-book.php: نمایش یک کتاب
archive-book.php: لیست کتاب‌ها

SEO

Yoast SEO از CPT پشتیبانی میکنه.

REST API

show_in_rest => true. با REST API قابل دسترسیه.

Gutenberg

show_in_rest اجباری برای Block Editor.

Custom Fields در Gutenberg

register_meta با show_in_rest.

ACF Fields

Text، Image، Relationship، Repeater. تنوع بالا.

Menu Position

menu_position => 5 برای زیر Posts.

Rewrite Rules

Flush کنید بعد ساخت CPT: /wp-admin/options-permalink.php

Import/Export

WP All Import برای Import انبوه.

سباهاست

هاست وردپرس سباهاست از CPT پشتیبانی کامل داره.

جمع‌بندی

CPT قدرت WordPress رو چند برابر میکنه. با استفاده درست، هر سایتی رو حرفه‌ای بسازید.