WordPress Custom Post Type Nedir?
WordPress, içerik yönetim sistemi olarak birçok farklı içerik türüne ev sahipliği yapar. Varsayılan olarak, WordPress, “makale” ve “sayfa” adı verilen iki temel içerik türü sunar. Ancak, siteniz için farklı türde içerikler oluşturmak isteyebilirsiniz. İşte tam bu noktada, WordPress Custom Post Type (Özel Gönderi Türü) devreye girer. Bu makalede, WordPress Custom Post Type oluşturmanın ne olduğunu, neden kullanışlı olduğunu ve nasıl adım adım oluşturulacağını örneklerle detaylı bir şekilde açıklayacağız.
WordPress Custom Post Type, WordPress içeriğine farklı türde gönderiler eklemenizi sağlayan bir özelliktir. Bu, içeriği varsayılan “makale” ve “sayfa” türleri dışında, kendi belirlediğiniz özel içerik türlerini oluşturmanıza olanak tanır. Örneğin, eğer bir portföy sitesi yönetiyorsanız, “Proje” adında özel bir gönderi türü oluşturabilir ve her projenizi bu özel tür altında yönetebilirsiniz.
WordPress Custom Post Type oluşturmanın temel avantajları şunlardır:
- İçerikleri Kategorize Etme: Farklı türde içerikleri ayrı ayrı kategorilere ayırarak sitenizi daha düzenli hale getirebilirsiniz.
- Daha İyi İçerik Yönetimi: İçerikleri farklı post türleri altında toplayarak, yönetim ve düzenleme işlemlerini daha kolay ve hızlı bir şekilde yapabilirsiniz.
- Temiz URL Yapısı: Özel post türleri, daha temiz ve anlamlı URL yapılarına olanak tanır, bu da SEO açısından önemlidir.
- Farklı Şablonlar Uygulama: Her post türüne farklı şablonlar uygulayarak içeriklerinizi daha özelleştirilmiş şekilde sunabilirsiniz.
WordPress Custom Post Type Nasıl Oluşturulur?
WordPress Custom Post Type oluşturmak için aşağıdaki adımları takip edebilirsiniz:
Adım 1: Functions.php Dosyasını Düzenleyin
Custom Post Type oluşturmak için, WordPress temasının “functions.php” dosyasını düzenlemeniz gerekmektedir. “functions.php” dosyası, tema fonksiyonlarınızı düzenlemek ve özelleştirmek için kullanılır.
Adım 2: Custom Post Type Fonksiyonunu Oluşturun
Aşağıdaki örnek kodu, “functions.php” dosyanızın sonuna ekleyin:
/* function custom_post_type_example() { $labels = array( 'name' => __('Ürünler', 'textdomain'), 'singular_name' => __('Ürün', 'textdomain'), 'menu_name' => __('Ürünler', 'textdomain'), 'name_admin_bar' => __('Ürün', 'textdomain'), 'add_new' => __('Yeni Ürün Ekle', 'textdomain'), 'add_new_item' => __('Yeni Ürün Ekle', 'textdomain'), 'edit_item' => __('Ürünü Düzenle', 'textdomain'), 'new_item' => __('Yeni Ürün', 'textdomain'), 'view_item' => __('Ürünü Görüntüle', 'textdomain'), 'all_items' => __('Tüm Ürünler', 'textdomain'), 'search_items' => __('Ürünleri Ara', 'textdomain'), 'parent_item_colon' => __('Üst Kategori:', 'textdomain'), 'not_found' => __('Ürün bulunamadı.', 'textdomain'), 'not_found_in_trash' => __('Çöp kutusunda ürün bulunamadı.', 'textdomain'), ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array('slug' => 'urun'), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'revisions'), 'taxonomies' => array('kategori'), ); register_post_type('urun', $args); } add_action('init', 'custom_post_type_example'); function custom_taxonomy_example() { $labels = array( 'name' => __('Kategoriler', 'textdomain'), 'singular_name' => __('Kategori', 'textdomain'), 'search_items' => __('Kategorileri Ara', 'textdomain'), 'all_items' => __('Tüm Kategoriler', 'textdomain'), 'parent_item' => __('Üst Kategori', 'textdomain'), 'parent_item_colon' => __('Üst Kategori:', 'textdomain'), 'edit_item' => __('Kategoriyi Düzenle', 'textdomain'), 'update_item' => __('Kategoriyi Güncelle', 'textdomain'), 'add_new_item' => __('Yeni Kategori Ekle', 'textdomain'), 'new_item_name' => __('Yeni Kategori Adı', 'textdomain'), 'menu_name' => __('Kategoriler', 'textdomain'), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array('slug' => 'kategori'), ); register_taxonomy('kategori', array('urun'), $args); } add_action('init', 'custom_taxonomy_example');
Yukarıdaki kodlar, “urun” adında bir custom post type ve “kategori” adında bir custom taxonomy (taksonomi) oluşturur. Bu sayede, ürünlerinizi “Ürünler” adlı bir menü öğesi altında yönetebilir ve kategorize edebilirsiniz. Aynı zamanda, her ürün için bir öne çıkan görüntü ekleyebilir ve revizyon özelliğini de kullanarak içerik düzenlemelerinizi takip edebilirsiniz. Örneğin, “Proje” adlı bir portföy sitesi oluşturuyorsanız, “Proje”leri özel post type ve “Kategoriler”i de custom taxonomy olarak kullanabilirsiniz. Bu, içeriği daha düzenli bir şekilde yönetmenize ve filtrelemenize yardımcı olacaktır.
Adım 3: Kodunuzu Kontrol Edin ve Kaydedin
Kodunuzu ekledikten sonra, “functions.php” dosyanızı kontrol edin ve hataları düzeltin. Ardından dosyayı kaydedin.
Adım 4: Özel Post Türünü Denetim Masasında Gösterme
Özel gönderi türünüzü WordPress denetim masasında görüntülemek için “supports” parametresini register_post_type()
fonksiyonuna ekleyebilirsiniz. Yukarıdaki örneği inceleyin:
'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'revisions'),
Bu, başlık, içerik düzenleyici, öne çıkan görüntü ve özet gibi özelliklerin özel gönderi türünde kullanılacağı anlamına gelir.
Adım 5: Custom Post Type’ı Test Edin
Custom Post Type’ınızı test etmek için, yönetim paneline gidin ve “Ürünler” bölümünden yeni bir gönderi ekleyin. Gönderinizi kaydedin ve sitenizin ön yüzünde oluşturduğunuz özel gönderi türünün doğru şekilde görüntülendiğinden emin olun.
WordPress Custom Post Type SEO Kurallarına Uygun Yapılandırma
Özel post türleri oluştururken, SEO kurallarına uygun yapılandırmayı unutmamak önemlidir. İşte dikkate almanız gereken bazı SEO kuralları:
- URL Yapılandırması: Özel post türünüzün URL’leri anlamlı ve SEO dostu olmalıdır. “Permalink Ayarları” bölümünden URL yapısını düzenleyebilirsiniz. Örneğin, “domain.com/proje/proje-adı” gibi bir yapı kullanabilirsiniz.
- Meta Verileri: Özel post türleriniz için meta başlıklarını ve açıklamalarını düzenleyin. SEO eklentileri, bu meta verileri için kolayca özelleştirme sağlar.
- Düzenli İçerik Güncellemesi: Özel post türündeki içeriği düzenli olarak güncellemek ve yeni içerik eklemek, SEO için önemlidir. Arama motorları düzenli güncellenen siteleri daha olumlu değerlendirir.
- Site Hızı: Özel post türünüzde kullanılan medya dosyalarını sıkıştırın ve site hızını optimize edin. Hızlı yükleme süreleri, SEO sıralamasında olumlu etki yapar.
- Mobil Uyumluluk: Özel post türünüzün mobil cihazlarda düzgün çalıştığından emin olun. Mobil uyumlu siteler, arama motorları tarafından ödüllendirilir.
Sonuç
Artık WordPress Custom Post Type oluşturmanın ne olduğunu ve nasıl adım adım gerçekleştirileceğini biliyorsunuz. Custom Post Type’lar, içeriği kategorize etmenizi, farklı içerik türlerini düzenlemenizi ve sitenizi daha düzenli ve özelleştirilmiş hale getirmenizi sağlar. Özel post türlerini projenize veya sitenize göre özelleştirerek, içerik yönetimini daha kolay ve etkili hale getirebilirsiniz. Unutmayın ki, custom post type’larınızı SEO dostu bir yapıda oluşturmak için anlamlı URL yapıları ve uygun meta verileri kullanmaya dikkat etmelisiniz. Umarım bu makale size custom post type oluşturmak konusunda yardımcı olmuştur. İyi çalışmalar!
WordPress Web Siteleriniz İçin Hızı ve Performansı Artırın: WP Rocket için 8 Önemli Özellik