- Konu sahibi
- #1
WordPress özel taksonomi, içerikleri sitenize özgü ölçütlere göre sınıflandırmak için kullanılır. Örneğin bir kitap sitesinde içerikleri
Özel taksonomi; yazıları, özel yazı türlerini veya uygun şekilde kaydedilmiş başka içerik türlerini ilişkilendirir. WordPress bu ilişki için terimler oluşturur. Örneğin
Standart kategori ve etiketler her site için yeterli olmayabilir. Özel taksonomi, içerik modelini sitenin gerçek ihtiyaçlarına göre ayırmanızı sağlar.
Örneğin “İstanbul” ve “Ankara” gibi şehirleri birden fazla içerik türünde kullanacaksanız, bunları her içerikte etiket olarak tekrar etmek yerine
Aşağıdaki örnek, yerleşik
Başarılı sonuç, yazı düzenleme ekranında taksonominin görünmesi, terimin yazıya atanabilmesi ve terim arşivinde ilgili yazının listelenmesidir. “Konular” alanı hiç görünmüyorsa kod çalışmıyor olabilir veya yanlış yazı türüne bağlanmış olabilir. Arşiv boşsa terim oluşturulmuş olsa bile hiçbir yayımlanmış yazıya atanmamış olabilir.
Taksonomi anahtarı (site_konusu) ile görünen ad ve URL slug’ı farklıdır. Tekrarlanan kayıtları önlemek için projeye özgü bir prefix seçin; mevcut konu sayfası veya rewrite kuralıyla çakıştırmayın. Flush işlemini her init isteğinde çalıştırmayın; kurulum/değişiklik sonrasında bir kez yenilemek yeterlidir. Taksonomide Yazar terimi kullanmak WordPress kullanıcı/yazı yazarı hesabıyla otomatik ilişki oluşturmaz.
Özel taksonomi oluştururken önce şu soruyu sorun: Bu bilgi, aynı türden birçok içerikte tekrar kullanılacak ve ziyaretçinin filtreleme ya da arşivleme ihtiyacını karşılayacak mı? Yanıt evetse taksonomi uygundur. Yalnızca tek bir içeriğe ait açıklama, tarih, telefon numarası veya fiyat gibi veriler için özel alan kullanmak daha doğru olabilir.
Aynı taksonomiyi birden fazla içerik türünde kullanmak mümkündür; ancak bu karar terim arşivinin hangi içerikleri göstereceğini etkiler. Ayrıca taksonomi adını ve URL yapısını sonradan değiştirmek mevcut bağlantıları etkileyebileceğinden, adlandırmayı baştan tutarlı seçin.
Hayır. Örnekteki gibi standart yazılara da bağlanabilir. Özel yazı türü, içerik yapısı yazılardan belirgin biçimde ayrılıyorsa tercih edilir.
Her temada otomatik olarak görünmeyebilir. Terim arşivleri çalışsa bile navigasyon menüsüne ilgili terimleri ayrıca eklemek veya temanın şablonunda listelemek gerekebilir.
Tür, Yazar veya Yayıncı bilgilerine göre gruplayabilirsiniz. Böylece ziyaretçiler yalnızca bir kategori sayfasına gitmek yerine, belirli bir özelliğe ait tüm içerikleri listeleyebilir.Özel taksonomi; yazıları, özel yazı türlerini veya uygun şekilde kaydedilmiş başka içerik türlerini ilişkilendirir. WordPress bu ilişki için terimler oluşturur. Örneğin
Tür taksonomisinde “Roman” ve “Bilim kurgu” terimleri bulunabilir. Public sorgulanabilirlik ve rewrite ayarları izin veriyorsa terim arşivinde atanmış içerikler listelenebilir; yalnız register_taxonomy çağrısı her kurulumda herkese açık arşiv garantisi vermez.Kategori ve etiketten farkı
Standart kategori ve etiketler her site için yeterli olmayabilir. Özel taksonomi, içerik modelini sitenin gerçek ihtiyaçlarına göre ayırmanızı sağlar.
| Yapı | İlişki biçimi | Uygun örnek |
|---|---|---|
| Kategori | Genellikle hiyerarşik | Haber > Teknoloji |
| Etiket | Genellikle hiyerarşik olmayan | yapay zekâ, güvenlik |
| Özel taksonomi | İhtiyaca göre hiyerarşik veya düz | Ürün markası, kitap türü, etkinlik şehri |
Örneğin “İstanbul” ve “Ankara” gibi şehirleri birden fazla içerik türünde kullanacaksanız, bunları her içerikte etiket olarak tekrar etmek yerine
şehir adlı bir taksonomide toplamak daha düzenli olur. Hiyerarşi gerekiyorsa üst-alt terimler oluşturabilir; gerekmiyorsa düz bir terim listesi kullanabilirsiniz.Basit bir özel taksonomi oluşturma
Aşağıdaki örnek, yerleşik
post yazı türüne “Konu” adlı hiyerarşik bir taksonomi ekler. Kod bir eklenti dosyasına veya siteye özel işlevler eklentisine konulmalıdır; doğrudan temanın rastgele bir dosyasına eklemek tema değişiminde kodun kaybolmasına yol açabilir.
Kod:
<?php
/**
* Plugin Name: Site Konuları Taksonomisi
*/
add_action( 'init', function () {
register_taxonomy(
'site_konusu',
array( 'post' ),
array(
'labels' => array(
'name' => 'Konular',
'singular_name' => 'Konu',
),
'public' => true,
'hierarchical' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'rewrite' => array( 'slug' => 'konu' ),
)
);
} );
Uygulama ve kontrol adımları
- Kodu
site-konulari.phpadıyla oluşturun ve WordPress’in eklenti dizinindeki kendi eklenti klasörüne yerleştirin. - Yönetim panelindeki eklentiler bölümünden bu eklentiyi etkinleştirin.
- Yazı düzenleme ekranında yeni “Konular” alanının göründüğünü kontrol edin ve “Teknoloji” gibi bir terim ekleyin.
- Bu terimi bir yazıya atayıp yazıyı yayımlayın. Örnek arşiv adresi, kullanılan kalıcı bağlantı yapısına bağlı olarak
/konu/teknoloji/biçiminde olur. - Terim arşivi açılmıyorsa kalıcı bağlantı ayarlarını değiştirmeden kaydetmeyi deneyin. Bu işlem yeniden yazım kurallarını yeniler; sorun sürerse eklentinin etkin olduğunu, taksonomi adının çakışmadığını ve temanın taksonomi arşivlerini engellemediğini kontrol edin.
Başarılı sonuç, yazı düzenleme ekranında taksonominin görünmesi, terimin yazıya atanabilmesi ve terim arşivinde ilgili yazının listelenmesidir. “Konular” alanı hiç görünmüyorsa kod çalışmıyor olabilir veya yanlış yazı türüne bağlanmış olabilir. Arşiv boşsa terim oluşturulmuş olsa bile hiçbir yayımlanmış yazıya atanmamış olabilir.
Taksonomi anahtarı (site_konusu) ile görünen ad ve URL slug’ı farklıdır. Tekrarlanan kayıtları önlemek için projeye özgü bir prefix seçin; mevcut konu sayfası veya rewrite kuralıyla çakıştırmayın. Flush işlemini her init isteğinde çalıştırmayın; kurulum/değişiklik sonrasında bir kez yenilemek yeterlidir. Taksonomide Yazar terimi kullanmak WordPress kullanıcı/yazı yazarı hesabıyla otomatik ilişki oluşturmaz.
Doğru tasarım kararı
Özel taksonomi oluştururken önce şu soruyu sorun: Bu bilgi, aynı türden birçok içerikte tekrar kullanılacak ve ziyaretçinin filtreleme ya da arşivleme ihtiyacını karşılayacak mı? Yanıt evetse taksonomi uygundur. Yalnızca tek bir içeriğe ait açıklama, tarih, telefon numarası veya fiyat gibi veriler için özel alan kullanmak daha doğru olabilir.
Aynı taksonomiyi birden fazla içerik türünde kullanmak mümkündür; ancak bu karar terim arşivinin hangi içerikleri göstereceğini etkiler. Ayrıca taksonomi adını ve URL yapısını sonradan değiştirmek mevcut bağlantıları etkileyebileceğinden, adlandırmayı baştan tutarlı seçin.
Kaynaklar
Sık sorulan sorular
Özel taksonomi için mutlaka özel yazı türü gerekir mi?
Hayır. Örnekteki gibi standart yazılara da bağlanabilir. Özel yazı türü, içerik yapısı yazılardan belirgin biçimde ayrılıyorsa tercih edilir.
Özel taksonomi terimleri menüde otomatik görünür mü?
Her temada otomatik olarak görünmeyebilir. Terim arşivleri çalışsa bile navigasyon menüsüne ilgili terimleri ayrıca eklemek veya temanın şablonunda listelemek gerekebilir.