WordPress içeriğinizi düzenlemek kategoriler ve etiketlerle kolaydır. Ancak bazen her şeyi istediğiniz şekilde düzenlemek için yeterli olmazlar. İşte bu noktada özel taksonomiler devreye girer.
Özel taksonomiler sayesinde içeriği sıralamak ve gruplamak için kendi yöntemlerinizi oluşturabilirsiniz. Bu size gönderilerinizin, ürünlerinizin veya diğer içeriklerinizin nasıl kategorize edileceği konusunda daha fazla kontrol ve esneklik sağlar.
Bu kılavuzda, ister bir eklenti kullanın ister manuel olarak yapmayı tercih edin, WordPress’te özel taksonomileri nasıl oluşturacağınız konusunda size yol göstereceğiz.
WordPress Taksonomisi Nedir?
WordPress taksonomisi, yazı gruplarını ve özel yazı türlerini düzenlemenin bir yoludur.
WordPress varsayılan olarak kategoriler ve etiketler adı verilen 2 taksonomi ile birlikte gelir. Bunları blog yazılarınızı düzenlemek için kullanabilirsiniz.
Ancak özel bir gönderi türü kullanıyorsanız kategoriler ve etiketler tüm içerik için uygun görünmeyebilir.
Örneğin, ‘Kitaplar’ adında özel bir gönderi türü oluşturabilir ve bunu ‘Konular’ adında özel bir taksonomi kullanarak sıralayabilirsiniz. Ardından, ‘Macera’, ‘Romantik’, ‘Korku’ gibi konu terimleri ve istediğiniz diğer kitap konularını ekleyebilirsiniz.
Bu sayede siz ve okuyucularınız kitapları her konuya göre kolayca sıralayabilir ve filtreleyebilirsiniz.
Taksonomiler hiyerarşik de olabilir, yani ‘Kurgu’ ve ‘Kurgu Dışı’ gibi ana veya üst konulara sahip olabilirsiniz. Ardından, her bir kategorinin altında alt konular veya alt başlıklar bulunur.
Örneğin, ‘Kurgu’ ana kategorisinin alt kategorileri ‘Macera’, ‘Romantik’ ve ‘Korku’ olabilir.
Artık özel bir taksonominin ne olduğunu bildiğinize göre, WordPress’te özel taksonomilerin nasıl oluşturulacağını öğrenelim.
Özel taksonomiler oluşturmak güçlü olsa da, ele alınması gereken çok şey var. Bunu düzgün bir şekilde ayarlamanıza yardımcı olmak için aşağıda kolay bir içindekiler tablosu oluşturduk:
Hazır mısınız? Hadi başlayalım!
Bir Eklenti ile Özel Taksonomiler Oluşturma (Kolay Yol)
Yapmanız gereken ilk şey Custom Post Type UI eklentisini yüklemek ve etkinleştirmektir. Ayrıntılar için WordPress eklentisi yükleme kılavuzumuza bakın.
Bu eğitimde, zaten özel bir gönderi türü oluşturduk ve adını ‘Kitaplar’ koyduk. Bu nedenle, taksonomilerinizi oluşturmaya başlamadan önce özel bir gönderi türü oluşturduğunuzdan emin olun.
Ardından, ilk taksonominizi oluşturmak için WordPress yönetici alanında CPT UI ” Taksonomi Ekle/Düzenle bölümüne gidelim.
Bu ekranda aşağıdakileri yapmanız gerekecektir:
- Taksonomi slug’ınızı oluşturun (bu URL’nize girecektir)
- Çoğul etiketi oluşturun
- Tekil etiketi oluşturun
- Etiketleri otomatik doldurma
İlk adımınız, URL’de ve WordPress arama sorgularında kullanmak üzere taksonomi için bir slug oluşturmaktır. Bir slug’ın yalnızca harf ve rakam içerebileceğini ve otomatik olarak küçük harflere dönüştürüleceğini unutmayın.
Ardından, özel taksonominiz için çoğul ve tekil adları dolduracaksınız.
Buradan, ‘Seçilen etiketlere göre ek etiketleri doldur’ bağlantısına tıklama seçeneğiniz vardır. Bunu yaparsanız, eklenti geri kalan etiket alanlarını sizin için otomatik olarak dolduracaktır.
Şimdi, ‘Ek Etiketler’ bölümüne doğru aşağı kaydırabilirsiniz.
Bu alanda, gönderi türünüzün bir açıklamasını sağlayabilirsiniz.
Bu etiketler, söz konusu özel taksonomi için içeriği düzenlerken ve yönetirken WordPress kontrol panelinizde kullanılır.
Sırada, ayarlar seçeneğimiz var. Bu alanda, oluşturduğunuz her taksonomi için farklı özellikler ayarlayabilirsiniz. Her seçeneğin ne işe yaradığını detaylandıran bir açıklaması vardır.
Yukarıdaki ekran görüntüsünde, bu taksonomiyi hiyerarşik hale getirmeyi seçtiğimizi göreceksiniz.
Bu, ‘Konular’ taksonomimizin alt konulara sahip olabileceği anlamına gelir. Örneğin, ‘Kurgu’ adlı bir konunun ‘Fantastik’, ‘Gerilim’, ‘Gizem’ ve daha fazlası gibi alt başlıkları olabilir.
WordPress panonuzda ekranınızın ilerleyen kısımlarında başka birçok ayar vardır, ancak bu eğitim için bunları olduğu gibi bırakabilirsiniz.
Artık özel taksonominizi kaydetmek için alttaki ‘Taksonomi Ekle’ düğmesine tıklayabilirsiniz.
Bundan sonra, kullanmaya başlamak için WordPress içerik düzenleyicisinde bu taksonomiyle ilişkili yazı türünü düzenleyebilirsiniz.
Özel Taksonomileri Manuel Olarak Oluşturma (Kod ile)
Bu yöntem WordPress web sitenize kod eklemenizi gerektirir. Bunu daha önce yapmadıysanız, WordPress’te kod parçacıklarının nasıl kolayca ekleneceğine ilişkin kılavuzumuzu okumanızı öneririz.
WordPress dosyalarınızı doğrudan düzenlemenizi önermiyoruz çünkü en ufak bir hata tüm sitenizi bozabilir. Bu yüzden herkesin mevcut en kolay ve en güvenli kod parçacığı eklentisi olan WPCode‘u kullanmasını öneriyoruz.
Başlamak için ücretsiz WPCode eklentisini yüklemeniz ve etkinleştirmeniz gerekecektir. Ayrıntılı talimatlar için WordPress eklentisinin nasıl kurulacağına ilişkin adım adım kılavuzumuza bakın.
1. Hiyerarşik Taksonomi Oluşturma
Kategoriler gibi çalışan ve üst ve alt terimlere sahip olabilen hiyerarşik bir taksonomi ile başlayalım.
WPCode’u yükleyip etkinleştirdikten sonra, WordPress panonuzda Kod Parçacıkları ” Parçacık Ekle bölümüne gidebilirsiniz.
Buradan, farenizi ‘Özel Kodunuzu Ekleyin (Yeni Snippet)’ seçeneğinin üzerine getirebilir ve ‘Snippet Kullan’ seçeneğine tıklayabilirsiniz.
Ardından, ‘Özel Snippet Oluştur’ sayfasına yönlendirileceksiniz.
Yeni kod parçacığınıza bir ad verin ve aşağıdaki kodu metin alanına yapıştırın:
//hook into the init action and call create_book_taxonomies when it fires
add_action( 'init', 'create_subjects_hierarchical_taxonomy', 0 );
//create a custom taxonomy name it subjects for your posts
function create_subjects_hierarchical_taxonomy() {
// Add new taxonomy, make it hierarchical like categories
//first do the translations part for GUI
$labels = array(
'name' => _x( 'Subjects', 'taxonomy general name' ),
'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
'search_items' => __( 'Search Subjects' ),
'all_items' => __( 'All Subjects' ),
'parent_item' => __( 'Parent Subject' ),
'parent_item_colon' => __( 'Parent Subject:' ),
'edit_item' => __( 'Edit Subject' ),
'update_item' => __( 'Update Subject' ),
'add_new_item' => __( 'Add New Subject' ),
'new_item_name' => __( 'New Subject Name' ),
'menu_name' => __( 'Subjects' ),
);
// Now register the taxonomy
register_taxonomy('subjects',array('books'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'subject' ),
));
}
‘Kod Türü’nü ‘PHP Snippet’ olarak değiştirdiğinizden ve anahtarı ‘Etkin’ konumuna getirdiğinizden emin olun.
Ardından, devam edebilir ve ‘Snippet’i Kaydet’e tıklayabilirsiniz.
Snippet’teki taksonomi adını ve etiketlerini kendi taksonomi etiketlerinizle değiştirmeyi unutmayın. Ayrıca bu taksonominin Kitaplar gönderi türüyle ilişkilendirildiğini de fark edeceksiniz. Bunu, kullanmak istediğiniz gönderi türüyle değiştirmeniz gerekecektir.
Ardından, aşağı kaydırmak ve Ekleme kutusunda ‘Otomatik Ekle’ ve ‘Her Yerde Çalıştır’ seçeneklerinin seçili olduğundan emin olmak isteyeceksiniz.
Bu işlem tamamlandıktan sonra en üste geri dönebilir ve değişikliklerinizi canlı olarak yayınlamak için ‘Güncelle’ düğmesine tıklayabilirsiniz.
2. Hiyerarşik Olmayan Bir Taksonomi Oluşturma
Etiketler gibi hiyerarşik olmayan özel bir taksonomi oluşturmak için WPCode kullanacak ve yukarıdaki adımların aynısını izleyeceksiniz.
Yalnızca, bunun yerine bu kodu kullanacaksınız:
//hook into the init action and call create_topics_nonhierarchical_taxonomy when it fires
add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 );
function create_topics_nonhierarchical_taxonomy() {
// Labels part for the GUI
$labels = array(
'name' => _x( 'Topics', 'taxonomy general name' ),
'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
'search_items' => __( 'Search Topics' ),
'popular_items' => __( 'Popular Topics' ),
'all_items' => __( 'All Topics' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Topic' ),
'update_item' => __( 'Update Topic' ),
'add_new_item' => __( 'Add New Topic' ),
'new_item_name' => __( 'New Topic Name' ),
'separate_items_with_commas' => __( 'Separate topics with commas' ),
'add_or_remove_items' => __( 'Add or remove topics' ),
'choose_from_most_used' => __( 'Choose from the most used topics' ),
'menu_name' => __( 'Topics' ),
);
// Now register the non-hierarchical taxonomy like tag
register_taxonomy('topics','books',array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'topic' ),
));
}
İki kod parçacığı arasındaki farka dikkat edin. register_taxonomy()
işlevi altında, hiyerarşik
bağımsız değişkeninin değeri kategori benzeri taksonomiler için true
, etiket benzeri taksonomiler için false
olarak ayarlanır.
Ayrıca, hiyerarşik olmayan taksonomiler için etiketler dizisinde, parent_item
ve parent_item_colon
bağımsız değişkenleri için null
ekledik; bu, alt konulara sahip olabilecek bir üst öğe veya taksonomi oluşturmak için kullanıcı arayüzünde hiçbir şeyin gösterilmeyeceği anlamına gelir.
Yine, kendi özel taksonomi etiketlerinizi eklemek için kodu düzenlediğinizden emin olun.
Özel Taksonomileri Görüntüleme
Artık özel taksonomiler oluşturduğumuza ve birkaç terim eklediğimize göre, WordPress temanız bunları yine de göstermeyecektir.
Bunları görüntülemek için WordPress temanıza veya alt temanıza kod eklemeniz gerekir. Özellikle, bu kod terimleri görüntülemek istediğiniz şablon dosyalarına eklenmelidir.
Bu snippet’i single.php
, content.php
, archive.
php
veya index
.php
gibi tema dosyalarınıza manuel olarak ekleyebilirsiniz. Hangi dosyayı düzenlemeniz gerektiğini bulmak için, adım adım talimatlar için WordPress şablon hiyerarşisi kılavuzumuza bakabilirsiniz.
Ancak, doğru şekilde yapılmazsa, bu sitenizi bozabilir, bu nedenle bir kez daha ücretsiz WPCode eklentisini kullanmanızı öneririz.
Terimleri görüntülemek istediğiniz yere aşağıdaki kodu eklemeniz gerekecektir:
<?php the_terms( $post->ID, 'topics', 'Topics: ', ', ', ' ' ); ?>
Ardından, kod parçacığını WPCode’a yapıştırmak için yukarıdaki adımları takip edebilirsiniz.
Ancak Ekleme altında, ‘Konum’un yanındaki açılır menüye tıklamak ve taksonomiyi nerede görüntülemek istediğinizi seçmek istersiniz; örneğin gönderiden önce, sonra veya hatta paragraflar arasında.
Bu eğitim için ‘Gönderiden Sonra Ekle’yi seçeceğiz.
Canlı sitenizde nasıl görüneceğini aşağıdaki resimde görebilirsiniz.
Özel Gönderiler İçin Taksonomi Ekleme
Artık özel taksonomileri nasıl oluşturacağınızı bildiğinize göre, bunları bir örnekle kullanalım.
Bir taksonomi oluşturacağız ve buna ‘Kurgu Dışı’ adını vereceğiz. ‘Kitaplar’ adında özel bir gönderi türümüz olduğundan, normal bir blog gönderisi oluşturmaya benzer.
WordPress kontrol panelinizde, bir terim veya konu eklemek için Kitaplar ” Konular bölümüne gidebilirsiniz.
Bu ekranda 4 alan göreceksiniz:
- İsim
- Sümüklüböcek
- Ebeveyn
- Açıklama
Ad alanına, eklemek istediğiniz terimi yazacaksınız. Slug kısmını atlayabilir ve bu özel terim için bir açıklama sağlayabilirsiniz.
Son olarak, yeni taksonominizi oluşturmak için ‘Yeni Konu Ekle’ düğmesine tıklayın.
Yeni eklediğiniz terim daha sonra sağ sütunda görünmelidir.
Artık blog yazılarınızda kullanabileceğiniz yeni bir teriminiz var. Terimleri, söz konusu yazı türü altında içerik düzenlerken veya yazarken doğrudan da ekleyebilirsiniz.
Bir gönderi oluşturmak için Kitaplar ” Yeni Ekle ‘ye gitmeniz yeterlidir.
Gönderi düzenleyicide, sağ sütundan yeni terimler seçme veya oluşturma seçeneğini bulacaksınız.
Terimleri ekledikten sonra devam edebilir ve bu içeriği yayınlayabilirsiniz.
Bu terim altında dosyalanan tüm gönderilerinize web sitenizde kendi URL’leri kullanılarak erişilebilir. Örneğin, ‘Kurgu’ konusu altında dosyalanan gönderiler aşağıdaki URL’de görünecektir:
https://example.com/subject/fiction/
Gezinti Menüsüne Özel Taksonomiler Ekleme
Artık özel taksonomiler oluşturduğunuza göre, bunları web sitenizin gezinme menüsünde görüntülemek isteyebilirsiniz.
Görünüm ” Menüler bölümüne gidin ve ekranın sol tarafında görünen özel taksonomi sekmenizin altına eklemek istediğiniz terimleri seçin.
Ayarlarınızı kaydetmek için ‘Menüyü Kaydet’ düğmesine tıklamayı unutmayın.
Artık menünüzü çalışırken görmek için web sitenizi ziyaret edebilirsiniz.
Daha fazla ayrıntı için WordPress’te nasıl açılır menü oluşturulacağına ilişkin adım adım kılavuzumuza başvurabilirsiniz.
Video Eğitimi
Özel taksonomilerin nasıl oluşturulacağını izlemek ve öğrenmek isterseniz video eğitimimize göz atın:
Bonus: WordPress Taksonomilerini Daha İleriye Götürün
Özel taksonomiler birçok şey yapmanıza olanak tanır. Örneğin, bunları bir kenar çubuğu widget’ında gösterebilir veya her terim için resim simgeleri ekleyebilirsiniz.
Ayrıca özel taksonomiler oluşturabilir ve kullanıcıların tek tek terimlere abone olmalarına izin verebilirsiniz. Bu şekilde, okuyucularınız yalnızca kendileri için önemli olan belirli içeriklerle ilgili güncellemeler alacaktır.
Özel taksonomi sayfalarınızın düzenini özelleştirmek istiyorsanız SeedProd‘a göz atabilirsiniz. Herhangi bir kodlama yapmadan özel düzenler oluşturmanıza olanak tanıyan en iyi sürükle ve bırak WordPress sayfa oluşturucu ve tema oluşturucudur.
Daha fazla bilgi edinmek için WordPress’te özel bir sayfanın nasıl oluşturulacağına ilişkin makalemize göz atabilirsiniz.
Umarız bu makale WordPress’te özel taksonomilerin nasıl oluşturulacağını öğrenmenize yardımcı olmuştur. WordPress’te taksonomi görsellerinin (kategori simgeleri) nasıl ekleneceği ve WordPress kategorilerinin nasıl düzgün bir şekilde değiştirileceği, taşınacağı ve silineceği hakkındaki kılavuzlarımızı da görmek isteyebilirsiniz.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Jiří Vaněk
Thank you for the clear instructions. I would like to make my own taxonomy for tutorials on the site. This tutorial is great and clear, thanks.
WPBeginner Support
Glad it was helpful
Yönetici
Kira
Hello.
I don’t understand this part:
ID, ‘topics’, ‘Topics: ‘, ‘, ‘, ‘ ‘ ); ?>
I mean, should I paste exactly that part into my loop-single.php?
I’m using a taxonomy called “writer”
WPBeginner Support
It would depend on where you want to display the terms, normally it would be added to the single.php.
Yönetici
Wolfgang
Hi,
I used your article to create a CPT with a hierarchical and a non-hierarchical taxonomy attached to it. I created a few entries and it all seems to be working fine. Both taxonomies display fine in their respective archive pages. One thing I noticed though when I tried to add the taxonomies to the menu was that the non-hierarchical taxonomy was available in the “Add menu item” column but the hierarchical taxonomy was NOT.
Is that an expected behavior? If not what could be going wrong?
Thanks
WPBeginner Support
The most common issues you could check would be that you have published content in the taxonomy and you may want to test adding a different content type to test if it is an issue with the taxonomy or something else.
Yönetici
mb
what does this line do
‘menu_name’ => __( ‘Subjects’ ),
is this in order to add taxonomies to the menu
aditya
hii i try everything but i taxonomy not showing in product. please help me.
WPBeginner Support
You would want to check under your preferences to ensure it is not hidden for your user.
Yönetici
Gina Wilson
This tutorial and specifically the part of how to display the custom taxonomy was a lifesaver! I’m very much a beginner and this was very helpful in understanding where I went wrong in my coding.
Thank you!!!
WPBeginner Support
Glad our guide was helpful
Yönetici
fengquanli
this is very confident with the custom post ui, thanks very much ,it’s very useful for get them.
WPBeginner Support
Glad our guide was helpful
Yönetici
Bruno Oliveira
Awesome tutorial! i have one question. how do i use my new taxonomy slug as permalink like category (/%category%/%year%/%monthnum%/%day%/%postname%/)
I want something like /%custom_taxonomy%/%year%/%monthnum%/%day%/%postname%/
i keep getting 404 error
WPBeginner Support
That is not something WordPress would allow by default and would require some custom coding to set up.
Yönetici
vikas
i tried the plugin method , it sucessfully created a new category in custom post type but it is not showing on my posts like tags and other categoties. can you help me with that?
WPBeginner Support
You would want to reach out to the support for your specific theme for customizing the display to include your taxonomy.
Yönetici
Richard
I am creating a podcast network where I have multiple podcasts on a single site with episodes under each individual podcast. Would something like this work for that? I really don’t want to go the multi site route.
WPBeginner Support
You can certainly use this should you want or another option would be to create a custom post type depending on your preference.
Yönetici
Maria
Hello is possible add the custom taxonomies to a custom product type?
I create a custom product call drinks and i have several taxonomies like country, material and etc
I want when the user click in drinks then only apperas those taxonomies, is this posiible?
WPBeginner Support
You should be able to using the plugin method.
Yönetici
Parveen Kaushik
Hi,
Thanks for this article, I am getting 404 page after using this code, can you help me
WPBeginner Support
If you haven’t done so yet, resave your permalinks for the most common solution
Yönetici
Mike Smith
this code works great on my site for work. Can you tell me how to add the custom taxonomy into the site’s rss feed?
WPBeginner Support
It would depend on what you are looking for, for a starting point you would want to take a look at our article below:
https://www.wpbeginner.com/wp-tutorials/how-to-make-a-separate-rss-feed-for-each-custom-post-type-in-wordpress/
Yönetici
angela
thank you for taking the time to post this, this was the first site that actually explained this and it made sense, haha. im a happy camper now
WPBeginner Support
You’re welcome, glad our guide could help simplify the process
Yönetici
Jem
How to show custom taxonomy (checkbox list) in Post editor page like category and tag?
WPBeginner Support
It would depend on which method you used to create the custom taxonomy, if you’re using the plugin you would want to reach out to the plugin’s support to make sure they have show_in_rest set to true for seeing it in the block editor.
Yönetici
Jem
No, I am not using any plugin. I have just copy paste your snippet. Its create new taxonomy. But it is not display in post editor page like category, tags display on rightside panel.
Can you please guide me how can I show custom taxonomy in post editor page?
WPBeginner Support
In the register_taxonomy array, you would want to first try adding a new line with the code below:
‘show_in_rest’ => true,
Jim Gersetich
The first half of this post is completely useless. the Simple Taxonomy plugin doesn’t work with the current WordPress version, and it hasn’t been updated in four years.
Please try to find another plugin and change that section to go with the new one.
WPBeginner Support
Thank you for letting us know, we’ll certainly take a look at updating this article.
Yönetici