WordPress Özel Yazı Türleri (Custom Post Types) Kullanım Rehberi

WordPress Özel Yazı Türleri (Custom Post Types) Kullanım Rehberi

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.
  • 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ın functions.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.
  • İ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 Archive seçeneğini True yapın. Gutenberg editörünü kullanmak için ise Show in REST seçeneğini mutlaka True olarak işaretleyin.
  • Son olarak "Add Post Type" butonuna tıklayarak özel yazı türünüzü oluşturun.
  • 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ın functions.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.
Eğer sitenizin ana sayfasında veya herhangi bir özel sayfasında bu içerikleri listelemek isterseniz, 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;

Sonuç

WordPress özel yazı türleri sayesinde web sitenizi standart bir blog olmaktan çıkarıp, ölçeklenebilir ve son derece profesyonel bir içerik portalına dönüştürebilirsiniz. İster eklentilerle hızlıca kurun, ister kodlama yöntemiyle sıfırdan optimize edilmiş yapılar inşa edin; CPT sistemi WordPress'in sunduğu en esnek ve güçlü araçlardan biridir. Sitenizin veri mimarisini doğru planlayarak hem kullanıcı deneyimini hem de arama motoru optimizasyonunu (SEO) zirveye taşıyabilirsiniz.

Sıkça Sorulan Sorular

Özel yazı türü oluşturmak siteyi yavaşlatır mı?
Hayır, doğru şekilde yapılandırılmış özel yazı türleri sitenizi yavaşlatmaz. Kodlama yöntemiyle oluşturulan CPT'ler veritabanına ek yük getirmez ve eklenti kullanımına göre daha performanslı çalışır.
Oluşturduğum özel yazı türü neden 404 hatası veriyor?
Yeni bir özel yazı türü oluşturduktan sonra kalıcı bağlantı (permalink) yapısının güncellenmesi gerekir. Bu sorunu çözmek için WordPress yönetim panelinden Ayarlar > Kalıcı Bağlantılar sayfasına gidip hiçbir değişiklik yapmadan 'Değişiklikleri Kaydet' butonuna tıklamanız yeterlidir.
Custom Post Type ile standart yazıların farkı nedir?
Standart yazılar (posts) kronolojik blog içerikleri için kullanılırken, Custom Post Type (CPT) portfolyo, ürünler veya hizmetler gibi tamamen bağımsız ve özel şablonlara ihtiyaç duyan içerik yapıları için kullanılır.
WxDigitals
WxDigitals

WebTeknoloji.net editör ekibi; web geliştirme, SEO, hosting ve yapay zeka alanlarında üretilen içeriklerin araştırma, test ve yayın süreçlerini yürütür. Tüm incelemeler gerçek kullanım deneyimine, karşılaştırmalar ise resmi dokümantasyon ve güncel fiyatlandırma sayfalarına dayanır.

Bu içeriği faydalı bulduysanız…

Haftalık teknoloji & SEO rehberlerimize katılın, 38 maddelik Teknik SEO Kontrol Listesi PDF'ini hediye olarak hemen indirin.

Yorumlar (0)

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Yorum Yazın