WordPress, ilk günlerinde sadece basit bir kişisel günlük platformu olarak hizmet veriyordu. Ancak zamanla geçirdiği büyük yapısal dönüşüm sayesinde, günümüzde dünyanın en popüler İçerik Yönetim Sistemi (CMS) haline geldi. Bu dönüşümün arkasındaki en güçlü mimari özelliklerden biri şüphesiz WordPress özel yazı türleri (Custom Post Types - CPT) sistemidir. Varsayılan olarak gelen standart "Yazılar" ve "Sayfalar" yapısı birçok temel web sitesi için yeterli olsa da, daha karmaşık projelerde verileri mantıksal olarak ayırmak ve yönetmek gerekir. Örneğin, bir kitap inceleme sitesi, emlak portalı, portfolyo veya ürün kataloğu oluşturmak istediğinizde, standart yazı yapısı yetersiz kalacaktır. İşte bu noktada devreye giren özel yazı türleri, sitenizin veri yapısını tamamen özelleştirmenize ve profesyonel bir içerik yönetim sistemi oluşturmanıza olanak tanır.
WordPress Özel Yazı Türleri Nedir?
WordPress çekirdeğinde veriler farklı "yazı türleri" (post types) altında saklanır. Varsayılan olarak sistemde bulunan en yaygın yazı türleri şunlardır:post (blog yazıları), page (statik sayfalar), attachment (ortam dosyaları) ve revision (yazı revizyonları). Bir WordPress özel yazı türleri (CPT) yapısı oluşturduğunuzda, aslında bu varsayılan türlerin yanına tamamen kendinize ait yeni bir tür eklersiniz. Örneğin, "Kitaplar" adında bir özel yazı türü oluşturduğunuzda, bu türün yönetim panelinde tıpkı "Yazılar" gibi kendine ait bağımsız bir menüsü, kendine özel kategorileri ve etiketleri olur. Bu sayede blog yazılarınızla kitap incelemelerinizi birbirine karıştırmadan, tamamen bağımsız şablonlar ve alanlar üzerinden kolayca yönetebilirsiniz.Neden Custom Post Type (CPT) Kullanmalısınız?
Büyük ve ölçeklenebilir web projelerinde CPT kullanmanın birçok önemli avantajı bulunmaktadır:- Düzenli Yönetim Paneli: Blog yazılarınızın, portfolyo ögelerinizin ve müşteri yorumlarınızın tek bir "Yazılar" sekmesi altında biriktiğini hayal edin. Bu durum yönetim panelini tam bir karmaşaya sürükler. CPT kullanarak her içerik grubunu kendi özel yönetim paneli sekmesine ayırabilirsiniz.
- Özel Tasarım ve Şablon Özgürlüğü: Her özel yazı türü için sitenizin temasında tamamen farklı tasarım şablonları (örneğin
single-kitap.php) tanımlayabilirsiniz. Böylece kitap sayfalarınız blog yazılarınızdan tamamen farklı görünebilir. - Gelişmiş SEO Yapısı: Arama motorlarına içeriğin türünü daha net bir şekilde sunabilirsiniz. Özel URL yapıları (örneğin
siteadi.com/kitaplar/kitap-adi) oluşturarak SEO uyumluluğunu artırabilirsiniz. - Özel Alanlar (Custom Fields) Entegrasyonu: Advanced Custom Fields gibi popüler eklentilerle entegre çalışarak, her yazı türüne özel veri giriş alanları (örneğin kitap için "Yazar adı", "Yayın yılı", "Sayfa sayısı") ekleyebilirsiniz.
- İlk olarak WordPress sitenizin yönetim panelinden Eklentiler > Yeni Ekle bölümüne gidin ve eklentiyi kurup etkinleştirin.
- Sol menüde beliren CPT UI > Add/Edit Post Types sekmesine tıklayın.
- "Post Type Slug" alanına küçük harflerle ve İngilizce karakterlerle yazı türünün adını yazın (örneğin:
kitap). - "Plural Label" alanına çoğul adını (Kitaplar), "Singular Label" alanına ise tekil adını (Kitap) yazın.
- Sayfanın altındaki gelişmiş ayarlardan, yazı türünüzün arşiv sayfasının olmasını istiyorsanız
Has ArchiveseçeneğiniTrueyapın. Gutenberg editörünü kullanmak için iseShow in RESTseçeneğini mutlakaTrueolarak işaretleyin. - Son olarak "Add Post Type" butonuna tıklayarak özel yazı türünüzü oluşturun.
WordPress Özel Yazı Türleri Nasıl Oluşturulur?
WordPress sitenizde özel yazı türü oluşturmak için iki temel yöntem bulunmaktadır: Eklenti kullanmak veya temanızınfunctions.php dosyasına özel PHP kodları eklemek. Her iki yöntemin de kendine göre avantajları vardır.1. Eklenti Kullanarak Özel Yazı Türü Oluşturma
Kodlama bilgisine sahip değilseniz veya hızlıca bir yapı kurmak istiyorsanız, en popüler yöntem eklenti kullanmaktır. Bu iş için en çok tercih edilen araç Custom Post Type UI eklentisidir.2. Kod Kullanarak (functions.php) Özel Yazı Türü Oluşturma
Sitenize fazladan eklenti yüklemek istemiyorsanız ve performansı en üst düzeyde tutmayı hedefliyorsanız, kodla oluşturma yöntemini tercih etmelisiniz. Bunun için aktif temanızınfunctions.php dosyasının en altına aşağıdaki kodu eklemeniz yeterlidir:
function wptr_custom_post_type_kitap() {
$labels = array(
'name' => _x( 'Kitaplar', 'Post Type Genel Adı', 'textdomain' ),
'singular_name' => _x( 'Kitap', 'Post Type Tekil Adı', 'textdomain' ),
'menu_name' => __( 'Kitaplar', 'textdomain' ),
'name_admin_bar' => __( 'Kitap', 'textdomain' ),
'add_new' => __( 'Yeni Ekle', 'textdomain' ),
'add_new_item' => __( 'Yeni Kitap Ekle', 'textdomain' ),
'new_item' => __( 'Yeni Kitap', 'textdomain' ),
'edit_item' => __( 'Kitabı Düzenle', 'textdomain' ),
'view_item' => __( 'Kitabı Görüntüle', 'textdomain' ),
'all_items' => __( 'Tüm Kitaplar', 'textdomain' ),
'search_items' => __( 'Kitap Ara', 'textdomain' ),
'not_found' => __( 'Kitap bulunamadı.', 'textdomain' ),
'not_found_in_trash' => __( 'Çöp kutusunda kitap bulunamadı.', 'textdomain' ),
);
$args = array(
'label' => __( 'Kitap', 'textdomain' ),
'description' => __( 'Kitap incelemeleri için özel yazı türü', 'textdomain' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-book',
'show_in_nav_menus' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'has_archive' => true,
'query_var' => true,
'can_export' => true,
'rewrite' => array( 'slug' => 'kitaplar' ),
'capability_type' => 'post',
'show_in_rest' => true,
);
register_post_type( 'kitap', $args );
}
add_action( 'init', 'wptr_custom_post_type_kitap', 0 );
Bu kod bloğunda yer alan menu_icon parametresi, yönetim panelindeki simgeyi belirler. WordPress'in resmi Dashicons kütüphanesinden dilediğiniz simgeyi seçebilirsiniz. show_in_rest parametresinin true olması ise modern blok düzenleyicinin (Gutenberg) bu yazı türünde de aktif olmasını sağlar.
Özel Taksonomiler (Custom Taxonomies) ile İçerikleri Sınıflandırma
Özel yazı türünüzü oluşturduktan sonra, bu içerikleri sınıflandırmak isteyeceksiniz. Varsayılan kategoriler blog yazıları için tasarlandığından, kitaplarınız için "Yazarlar" veya "Kitap Türleri" gibi özel sınıflandırmalara ihtiyaç duyarsınız. Buna WordPress ekosisteminde Özel Taksonomi (Custom Taxonomy) denir. Tıpkı CPT gibi, taksonomileri de kodla veya CPT UI eklentisiyle kolayca oluşturabilirsiniz. Örneğin, kitap yazı türüne bağlı bir "Yazarlar" taksonomisi oluşturarak, her kitaba yazar bilgisi atayabilir ve ziyaretçilerinizin belirli bir yazarın tüm kitaplarını tek bir sayfada listelemesini sağlayabilirsiniz.Özel Yazı Türlerini Sitede Gösterme Şablon Yapısı
Oluşturduğunuz özel yazı türlerini sitenizin ön yüzünde listelemek ve tasarlamak için WordPress şablon hiyerarşisinden yararlanabilirsiniz. Temanızın klasörü içinde oluşturacağınız özel dosyalarla tasarımı tamamen kontrol edebilirsiniz:single-kitap.php: Kitap detay sayfasının tasarımını belirler.archive-kitap.php: Tüm kitapların listelendiği arşiv sayfasının tasarımını belirler.WP_Query sınıfını kullanarak özel bir döngü oluşturabilirsiniz:$args = array(
'post_type' => 'kitap',
'posts_per_page' => 5,
);
$kitap_sorgusu = new WP_Query( $args );
if ( $kitap_sorgusu->have_posts() ) :
while ( $kitap_sorgusu->have_posts() ) : $kitap_sorgusu->the_post();
echo '<h3>' . get_the_title() . '</h3>';
the_excerpt();
endwhile;
wp_reset_postdata();
else :
echo 'Henüz kitap eklenmemiş.';
endif;
Yorumlar (0)
Henüz yorum yapılmamış. İlk yorumu siz yapın!
Yorum Yazın