Okuyucularımızdan biri yakın zamanda WordPress'e özel bir gönderi türüne kategori eklemenin yollarını sormuştu.
Kategoriler, WordPress'teki yerleşik taksonomilerden biridir ve öncelikle blog gönderileri için kullanılır. Ancak, özel gönderi türlerinde otomatik olarak görünmezler, bu da organizasyon seçeneklerinizi sınırlar.
Neyse ki, WordPress web siteleri üzerinde yıllarca çalışarak bu soruna basit çözümler bulduk.
Bu makalede, WordPress'te özel bir gönderi türüne kategorilerin nasıl ekleneceğini göstereceğiz.

Özel Bir Gönderi Türüne Kategoriler Ne Zaman Eklerebilirsiniz?
WordPress, eklenti geliştiricilerinin ve web sitesi sahiplerinin kendi içerik türlerini oluşturmalarına olanak tanır. yazılar ve sayfalar gibi, bu özel gönderi türleri de kategoriler ve etiketler gibi kendi taksonomilerine sahip olabilir.
Örneğin, film incelemeleri yayınlıyorsanız, ‘Filmler’ için özel bir gönderi türü oluşturmak isteyebilirsiniz.
Filmlerinizi uygun konulara göre düzenlemeniz de gerekebilir, bunun için özel bir taksonomiye ihtiyacınız olacaktır. Tür adında bir taksonomi oluşturabilirsiniz.
Ancak, blog yazılarınız için kullandığınız kategorileri Filmler gönderi türü ile de kullanmak isteseydiniz ne olurdu?
Özel gönderi türünüz için kategorileri etkinleştirmeniz gereken zaman budur. Bu, hem blog gönderileriniz hem de özel gönderi türünüz için aynı kategorileri kullanmanıza olanak tanır.
Bununla birlikte, şimdi WordPress'te özel bir gönderi türüne kolayca nasıl kategori ekleyeceğimize bir göz atalım.
- Bir Eklenti ile Özel Bir Gönderi Türüne Kategoriler Ekleyin
- Kod ile Özel Bir Gönderi Türüne Manuel Olarak Kategori Ekleme
- Kategori Sayfasında Birden Fazla Gönderi Türünü Gösterme
- WordPress'te Kategoriler Hakkında Uzman Rehberleri
Bir Eklenti ile Özel Bir Gönderi Türüne Kategoriler Ekleyin
Yeni başlayanlar için, özel yazı türleri oluşturmak üzere Custom Post Type UI eklentisini kullanmanızı öneririz. özel yazı türleri oluşturmak.
Özel Gönderi Türü Arayüzü eklentisi ile özel gönderi türünüzü kategoriler de dahil olmak üzere herhangi bir yerleşik veya özel taksonomi ile ilişkilendirme seçeneğiniz vardır.
Öncelikle, Custom Post Type UI eklentisini kurmanız ve etkinleştirmeniz gerekir. Daha fazla ayrıntı için, WordPress eklentisinin nasıl kurulacağına dair adım adım rehberimize bakın.
Kurulumdan sonra, yeni bir özel gönderi türü oluşturmak veya eklentiyle oluşturduğunuz mevcut bir özel gönderi türünü düzenlemek için CPT UI » Gönderi Türleri Ekle/Düzenle bölümünü ziyaret etmeniz gerekir.

Ayarlar Seçeneklerinin bulunduğu alt kısma doğru aşağı kaydırın. Oradan, Taksonomiler alanını göreceksiniz.
Kategoriler yanındaki kutuyu işaretlemeniz ve özel gönderi türünüzü kaydetmeniz gerekir.

Ayarlarınızı kaydetmek için 'Yazı Türünü Kaydet' düğmesine tıklamayı unutmayın.
Artık, o belirli gönderi türü altındaki herhangi bir içeriği düzenleyebilirsiniz ve WordPress blok düzenleyicisinin sağ sütununda kategorileri seçme seçeneğini göreceksiniz.

Kod ile Özel Bir Gönderi Türüne Manuel Olarak Kategori Ekleme
Özel gönderi türünüzü temanızın functions.php dosyasına kod ekleyerek, bir siteye özel eklenti veya bir kod parçacıkları eklentisi ile oluşturduysanız, kategori desteklenen taksonomi olarak eklemek için kodu değiştirmeniz gerekecektir.
Tek yapmanız gereken, özel gönderi türünüzün argümanlarına bu satırı eklemektir.
'taxonomies' => array( 'category' ),
Muhtemelen, özel gönderi türünüz için zaten başka bir özel taksonomi içeren mevcut kodda bu satır bulunmaktadır. Eğer öyleyse, sadece sonuna bir virgül ekleyip şunu eklemeniz yeterlidir:
'taxonomies' => array('topics', 'category' ),
Burada, yerleşik kategoriler desteğiyle 'Filmler' adlı özel bir gönderi türü oluşturduğumuz kodun tam bir örneği bulunmaktadır.
function custom_post_type() {
// Set UI labels for Custom Post Type
$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'twentythirteen' ),
'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'twentythirteen' ),
'menu_name' => __( 'Movies', 'twentythirteen' ),
'parent_item_colon' => __( 'Parent Movie', 'twentythirteen' ),
'all_items' => __( 'All Movies', 'twentythirteen' ),
'view_item' => __( 'View Movie', 'twentythirteen' ),
'add_new_item' => __( 'Add New Movie', 'twentythirteen' ),
'add_new' => __( 'Add New', 'twentythirteen' ),
'edit_item' => __( 'Edit Movie', 'twentythirteen' ),
'update_item' => __( 'Update Movie', 'twentythirteen' ),
'search_items' => __( 'Search Movie', 'twentythirteen' ),
'not_found' => __( 'Not Found', 'twentythirteen' ),
'not_found_in_trash' => __( 'Not found in Trash', 'twentythirteen' ),
);
// Set other options for Custom Post Type
$args = array(
'label' => __( 'movies', 'twentythirteen' ),
'description' => __( 'Movie news and reviews', 'twentythirteen' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'show_in_rest' => true,
// This is where we add taxonomies to our CPT
'taxonomies' => array( 'category' ),
);
// Registering your Custom Post Type
register_post_type( 'movies', $args );
}
/* Hook into the 'init' action so that the function
* Containing our post type registration is not
* unnecessarily executed.
*/
add_action( 'init', 'custom_post_type', 0 );
Kategori Sayfasında Birden Fazla Gönderi Türünü Gösterme
Varsayılan olarak, WordPress sitenizdeki kategori sayfaları yalnızca varsayılan 'Gönderiler' gönderi türünü görüntüler.

Özel gönderi türlerinizi varsayılan gönderilerinizle aynı kategori sayfasında görüntülemek için bu kodu temanızın functions.php dosyasına veya bir kod parçacıkları eklentisine eklemeniz gerekir:
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if( is_category() ) {
$post_type = get_query_var('post_type');
if($post_type)
$post_type = $post_type;
else
$post_type = array('nav_menu_item', 'post', 'movies'); // don't forget nav_menu_item to allow menus to work!
$query->set('post_type',$post_type);
return $query;
}
}
Not: 'movies' yerine kendi özel gönderi türünüzün adını eklemeyi unutmayın.
Bu kodu, piyasadaki en iyi kod parçacığı eklentisi olan WPCode kullanarak eklemenizi öneririz. WPCode, temanızın functions.php dosyasını düzenlemeden WordPress'e özel kod eklemeyi güvenli ve kolay hale getirir.

Başlamak için, ücretsiz WPCode eklentisini yükleyip etkinleştirmeniz gerekir. Yardıma ihtiyacınız olursa, bir WordPress eklentisinin nasıl kurulacağına dair eğitimimize bakın.
Eklenti etkinleştirildikten sonra, WordPress kontrol panelinden Kod Parçacıkları » Parçacık Ekle bölümüne gidin.
Kod Parçacığı Ekle sayfasından, fare imlecini 'Özel Kodunuzu Ekleyin (Yeni Kod Parçacığı)' seçeneğinin üzerine getirin ve '+ Özel Kod Parçacığı Ekle' düğmesine tıklayın.

Ardından, ekranda beliren seçenekler listesinden kod türü olarak 'PHP Snippet'i seçin.

Ardından, sayfanın üst kısmına, yalnızca sizin referansınız için olan ve kodun ne işe yaradığını hatırlamanıza yardımcı olacak herhangi bir şey olabilen bir başlık ekleyin.
Ardından, yukarıdaki kodu yapıştırın.

Bundan sonra, sayfanın üst kısmındaki anahtarı 'Etkin Değil'den 'Etkin'e getirin ve 'Kod Parçasını Kaydet' düğmesine tıklayın.

Artık bir kategori arşiv sayfasını ziyaret edebilirsiniz ve bu sayfa özel gönderi türünüzdeki girişlerinizi gösterecektir.

Etiketleri özel gönderi türlerinize eklemek için de aynı yöntemleri kullanabilirsiniz. Daha fazla bilgi edinmek için kategoriler ve etiketler hakkındaki rehberimize bakın.
WordPress'te Kategoriler Hakkında Uzman Rehberleri
WordPress'te kategorileri kullanma hakkında daha fazla bilgi edinmek ister misiniz? Bu eğitimlere göz atın:
- WordPress'te Kategori Sırasını Değiştirme
- WordPress Kategorileri Nasıl Doğru Değiştirilir, Taşınır ve Silinir
- WordPress'te Gönderi Başına Bir Kategori Zorlama
- WordPress'te Taksonomi Görselleri (Kategori Simgeleri) Nasıl Eklenir
- WordPress Kategorilerini Özel Taksonomilere Dönüştürme
- WordPress Widget'larında Boş Kategoriler Nasıl Gösterilir
- WordPress Kategori ve Etiket Analizlerini İzleme (Kolay Yol)
Umarım bu makale, WordPress'te özel gönderi türünüze kategoriler eklemeyi öğrenmenize yardımcı olmuştur. Ayrıca web sitenizi büyütmek için mutlaka sahip olunması gereken WordPress eklentileri ve blog trafiğinizi nasıl artıracağınıza dair ipuçlarımıza da göz atmak isteyebilirsiniz.
Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.


Chandu Mullangi
Bu makale için teşekkürler
Kategori Sayfasında Birden Fazla Gönderi Türünü Gösterme kodu iyi çalışıyor.
Etiketler sayfasında birden fazla gönderi türü görüntülemek istiyorum, bu kodu paylaşabilir misiniz?
WPBeginner Desteği
Özel içerik türlerinize etiket eklemek için taksonomi dizinize ‘post_tag’ eklemeniz gerekir, bu da şöyle görünür:
‘taxonomies’ => array( ‘category’, ‘post_tag’ ),
Yönetici
Muhamad Shahzad
Özel gönderi türü kategori listelerini blog gönderisi kategorilerinden nasıl ayırabiliriz. Yukarıdaki kodu ekledim ve çalışıyor. Ancak sorun, bu özel gönderi türünün kategorileri ve blog gönderilerinin karışmış olmasıdır. Ayrılmaları gerekiyor.
WPBeginner Desteği
Bu eğitimin amacı, aradığınız şey için özel gönderi türleri için farklı bir kategori kullanmak en iyisi olabilir, böylece kategori arşiv sayfalarınızda görünmezler.
Yönetici
Poulomi Basu
Merhaba,
Bu kodu kullandım ve mükemmel çalıştı! CPT, benim seçtiğim gönderi kategorisinde görünüyor.
Ancak blog arşivimde görünmüyor. Varsayılan arşiv gibi, tüm gönderileri gösteren.
Bunu orada da nasıl gösterebilirim?
Çok teşekkürler!
WPBeginner Desteği
You would want to take a look at our article below that covers how to do this
https://www.wpbeginner.com/wp-tutorials/how-to-create-custom-post-types-in-wordpress/
Yönetici
Connie
Bir menüye özel kategori (CPT) nasıl eklenir, lütfen söyler misiniz?
CPT "makale" var, "araba" ve "kamyon" kategorileriyle
Şu girişlerle özel bir menü istiyorum:
Hepsi – arabalar – kamyonlar
Arayıp duruyorum ve bulamıyorum. Menü-yönetimindeki kategorileri görüyorum ve menüye ekleyebiliyorum, ancak bu bağlantıların sonucu boş sayfalar
Sanırım listelenen kategoriler, özel yazı tipi kategorileri (cpt) yerine gönderi kategorileri (post-categories) için tasarlanmış...
Bana bir ipucunuz var mı?
Connie
WPBeginner Desteği
Özel gönderi türünün orada sizin için işaretlenmemiş bir seçenek olup olmadığını görmek için menü alanındaki ekran seçeneklerinizi kontrol etmek isteyebilirsiniz.
Yönetici
Vico
Ürünler adında bir gönderi türü oluşturdum ve çekirdek wp kategorilerini kullanıyorum,
Ürün URL yapım mysite.com/product/skf bearing 12 şeklinde.
Kategori sayfalarım mysite.com/category/bearings şeklinde gösteriyor.
Neden ürün URL'si URL'nin içinde Kategoriyi göstermiyor? Şöyle ki
mysite.com/bearings/skf bearing 12
Özel gönderi kalıcı bağlantım %category%%post% şeklinde.
Kalıcı bağlantıyı kaydettim ancak hala aynı yapıyı gösteriyor.
dharamjeet
Merhaba! Varsayılan gönderi kategorileri listem özel gönderi türü kategori listesinde görünüyor
Lütfen düzeltmeme yardım eder misiniz
carlos ballin
finally works for me
thank you
Moises
Koda twentythirteen'i neden eklediniz?
WPBeginner Desteği
Merhaba Moises,
Bu dize çeviri için kullanılır. Temanız çeviriyi destekliyorsa, bunu temanızın metin alanıyla değiştirmeniz gerekir. Ne kullanacağınızdan emin değilseniz, tema desteğinize sorun. Olduğu gibi yapıştırabilirsiniz ve bu dizeler yok sayılır.
Yönetici
Brian
Bilginiz olsun, bu toplu düzenlemenizi bozacaktır. Birçok gönderi türüne ekledim ve toplu düzenlemeye gittiğimde, sorgunun post_type kısmı, yönetici tarafında düzenlemeye çalıştığı gönderi türü yerine "Dizi" oluyor.
Bunu aşmak için if( is_category() ): ifadesinden önce şunu eklemeniz yeterlidir:
`if ( is_admin() ) return;`
gül
Merhaba, yardıma ihtiyacım var.
2 tane özel içerik türüm (CPT) var ve bunların paylaşılan bir taksonomisi olmasını istemiyorum.
Şöyle ki:
CPT 1
– Taksonomi (Türler)
– Tür A
– Tür B
CPT 2
– Taksonomi (Türler)
– Tür C
– Tür D
Not: Burada CPT 1'den A ve B türlerini göstermek istemiyorum.
Teşekkürler
WPBeginner Desteği
Merhaba Rose,
Taksonomilerinizi oluştururken onları farklı adlandırabilir ve aynı etiketlere sahip olmalarına izin verebilirsiniz.
Yönetici
Gabriela
İkinci bir özel içerik türü (custom post type) nasıl eklenir?
Kodu tekrarlamayı denedim, sadece CPT'lerimin isimlerini değiştirdim ama işe yaramadı…
Fikirleriniz var mı?
Arun Sathiya
Kategori sayfalarındaki özel gönderi türünü (CPT) gösterme kodu harika çalışıyor, teşekkürler! Ancak, dikkat etmeniz gereken bir şey var. Bir kategoriyle etiketlenmiş en son gönderi / CPT gönderisi o kategori sayfasında hemen görünmüyor. Yalnızca ikinci benzer işlemde görünür – aynı kategoriye başka bir gönderi / CPT gönderisi eklendiğinde, ilk gönderi o kategori sayfasında görünür. Bunun bir çözümü var mı?
Sonjoe
CPT UI kullanıyorum. "jobs" özel gönderi türü oluşturdum ve kategorilere izin verdim. Ancak bu aynı kategoriler Gönderiler'de de var. Aynı kategorileri kullanıyorlar. Özel gönderi türüm "jobs" kendi kategorilerine ve klasik gönderiler kendi kategorilerine sahip olabilir mi? Teşekkürler
Rizky
Aynı soru. Özel gönderi türünün bir kategori arşivini oluşturmak istersek özel bir sorgu çalıştırmamız gerekir mi?
fathur
Son Gönderiler kenar çubuğu widget'ı menü öğesini de listeleyen ile nasıl başa çıkıyorsunuz?
$post_type = array(‘nav_menu_item’, ‘post’, ‘movies’);
WPBeginner Desteği
nav_menu_item'ı kaldırabilirsiniz
Yönetici
vivek
Thanks for the great tutorial here.
Özel gönderileri kategoriye göre ayrı bir sayfada nasıl gösterebileceğimi söyler misiniz?
Varsayılan kategori sayfası düzgün çalışıyor, gönderileri gösteriyor. ancak aynı kategori altındaki gönderileri farklı bir sayfada göstermeye çalıştığımda boş dizi dönüyor. Lütfen yardım edin
Matthew Wright
Teşekkürler! Bu harika. Çok daha karmaşık çözümlerle (işe yaramayan) üzerinde çalıştığım bir sorunu basitçe çözdü.
Ancak bir sorum var, CPT'lerim için özel taksonomiler oluştururken taksonomi bildirimini hiç eklemedim ve taksonomiler her zaman çalıştı. Ne olacağını görmek için sadece 'category' ekledim ve harika çalıştı, mevcut özel taksonomiler üzerinde hiçbir olumsuz etki olmadan CPT'me gönderi kategorileri ekledi.
Özel vergi (custom tax) CPT argümanlarına yerleştirmek en iyi uygulama mıdır?
Thanks again for sharing
WPBeginner Desteği
Evet, eğer o belirli gönderi türü için özel bir taksonomi kullanacağınızı zaten biliyorsanız.
Yönetici
Daisy
Özel gönderi türünde kategori ve alt kategoriler eklemek için özel kod. Eğer $post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’); kodunu kategorilerimi görüntülemek için seçersem, yalnızca o kategoriyi görüntüler, ancak aynı işlevi başka bir kategori için yeniden kullanırsam çalışmaz. Herhangi bir fikir verebilir misiniz?
Chris Najman
Merhaba. functions.php'de başarıyla özel bir gönderi türü (Artwork) oluşturdum. Ardından özel bir taksonomi ('hierarchical' => true) oluşturdum, bu da yeni bir Artwork gönderisi oluştururken özel kategoriler ekleyebileceğim anlamına geliyor.
Aynı özel taksonomi fonksiyonu içinde, Artwork gönderisi için kategorileri önceden tanımlayabilir miyim diye merak ediyordum.
Kullanıcının yalnızca iki kategori seçebilmesini istiyorum: 1) Resim, 2) Heykel. Kullanıcının başka kategori eklemesini istemiyorum. İdeal olarak, kullanıcı bu iki kategoriden birini seçmeye 'zorlanmalı', yani bir kategori seçilmediği sürece gönderi yayınlanamaz olmalı.
Bu mümkün mü?
WPBeginner Desteği
Kategoriler oluşturma konusunda sınırlama ile özel kullanıcı rolleri oluşturarak mümkündür.
Yönetici
Mau Ferrusca
Birden fazla kategoriyi birkaç özel gönderi türüne ekliyorum.
Satıra birden fazla nasıl ekleyebilirsiniz:
$post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’);
?
Teşekkürler!
Mau Ferrusca
Sorunumu zaten çözdüm.
İçgüdüsel olarak, özel gönderi türlerimi bir dizi olarak listelemeye başladım, ancak tüm yapmam gerekenin onları $post_type nesnesinin içine, virgülle ayrılmış olarak listelemek olduğunu anladım.
Teşekkürler!
Eren
Merhaba, bir sorum var. Bir eklenti kullanıyorum ve kendi kategori alanı var. Bu eklentide wordpress'in çekirdek kategorilerimi kullanmak istiyorum ama henüz yapamadım. Yukarıdaki eklentiyi kullandım ve sonrasında eklentinin altında 2 kategori alanı oluşturuyor ve bu gönderi türünün gönderilerini kategorilerle göstermek istediğimde, eklentinin kendi kategori listesi boş olduğu için hiçbir şey göstermiyor. Eklentinin kodunu manipüle etmek de dahil olmak üzere birçok şey denedim ama hiçbiri sorunumu çözmedi. Önerebileceğiniz bir yol var mı?
Davide
Bu sorun için herhangi bir çözüm buldunuz mu?
David
Bu makale WP'nin mevcut sürümüyle çalışacak şekilde yakın zamanda güncellendi mi? Kullandığınız eklentinin 2 yılı aşkın süredir güncellenmediğini fark ettim, bu da onu kullanma konusunda beni biraz tereddüt ettiriyor.
David
Üzgünüm, unutun gitsin, güncellenmiş bilgiyi görüyorum.
Piyush
Harika eğitim için teşekkürler. Özel gönderileri kategoriye göre ayrı bir sayfada nasıl gösterebileceğimi söyler misiniz? Diyelim ki 'talent' adında bir CPT'm ve 'art' adında bir kategorim var. Biri 'talents' CPT'si altında oluşturulmuş, diğeri ise 'posts' altında oluşturulmuş genel bir gönderi olmak üzere iki farklı gönderim var. Her iki gönderi de 'art' kategorisine atanmış durumda (bu hem CPT hem de genel gönderiler için ortaktır). Şimdi genel gönderiler için kategori sayfasını example.com/category/art/ gibi görüntüleyebileceğimi biliyorum. CPT kategori sayfası için sanırım URL example.com/talent/art/ olmalı ama 404 hatası veriyor.
WPBeginner Desteği
Kalıcı bağlantı yapınızı güncellemeyi deneyin. Sadece Ayarlar » Kalıcı Bağlantılar bölümüne gidin ve herhangi bir değişiklik yapmadan kaydet düğmesine tıklayın.
Yönetici
Robert
Aferin, teşekkürler!
Birkaç sorunum var:
– “Kategoriler” widget'ında Özel Gönderi Tiplerinin Kategorileri görünüyor ancak tıklayınca “hiçbir şey bulunamadı” mesajı dönüyor.
– “Son Gönderiler” widget'ında Özel Gönderi Tipi Gönderileri görünmüyor.
Bunu düzeltmenin bir yolu var mı?
Hemang Rindani
İlginç bir makale. WordPress, bir şirketin iş gereksinimlerine uygun verimli web sitelerine sahip olmasını sağlayan güçlü bir kurumsal web içerik yönetim hizmetidir. Kullanımı kolay ve zahmetsiz araçları, geliştirmeyi daha kolay hale getiriyor. Duyarlı tasarımdan güvenliğe ve genişletilebilirliğe kadar WordPress CMS'de hepsi mevcut, ancak bir web sitesi için doğru araçları aramak önemlidir.
Özel gönderi türüne kategori eklemek, bir gönderiyi diğerinden ayırt etmek için bazen bir gereklilik haline gelir ve makalede belirtilen yöntemler faydalı olacaktır. Eklenti kullanmak, teknik bilgisi olmayan bir kişinin bile uygulayabileceği kolay bir yöntem olacaktır, ancak bu makale ile, teknik bilgisi olmayan bir kişinin bu özelliği eklemek için kod kullanmasının zor olacağını düşünmüyorum.
Paylaştığınız için teşekkürler.
Emily Johns
Harika ipuçları, sorunumu bununla çözmenin yolunu buldum. Teşekkürler!