Özel Bir Taksonomi Nasıl Oluşturulur

Yayınlanan: 2016-09-07

Bu, özel gönderi türleri (CPT) konusundaki 3 bölümlük bir dizinin ikinci makalesidir. Diğer iki makalede tartışılan konular şunlardır:

  • Özel Gönderi Türleri ve bunların nasıl oluşturulacağı
  • Özel gönderi türlerini görüntüleme – şablonlar ve sorgulama

Bu blog gönderisinde , özel bir sınıflandırmanın nasıl oluşturulacağına ve özel bir gönderi türüyle nasıl ilişkilendirileceğine bakacağız.

Özel taksonomi nedir?

Hemen başlayalım, taksonomi nedir? Resmi WordPress tanımını beğendim: Taksonomi, şeyleri birlikte gruplandırmanın bir yoludur.

WordPress'in 4 varsayılan taksonomisi vardır: Kategori, Etiket, Bağlantı Kategorisi ve Gönderi Biçimleri. Kesinlikle en çok kullanılanları kategoriler ve etiketlerdir. Kategori sınıflandırması, gönderileri kendiniz tanımlayabileceğiniz mantıksal kategorilerde gruplandırmanıza olanak tanır. Etiket sınıflandırması çok benzer, ancak daha özgürce kullanılabilir. Taksonomideki tek bir gruba terim denir. Her taksonominin ayrıca, aynı terime ait tüm gönderilerin görüntülendiği kendi "dizin" sayfası vardır (bu sayfaların URL'leri şöyle görünür: 'taksonomi/terim' ).

Yani özel bir taksonomi, adından da anlaşılacağı gibi, kendi özel gönderi grubunuz (veya özel gönderi türleriniz). Özel bir yazı türü olarak bir kitap incelememiz olsaydı, iyi bir özel sınıflandırma örneği kitap türleri olurdu.

Sadece hafızayı tazelemek için: Özel Gönderi Türleriyle ilgili önceki makalede, Shaka temamız için Örnek CPT'yi kullandık, bu yüzden onu burada da kullanmaya devam edeceğiz.

Bu nedenle, Görüşler özel yazı tipine sahibiz. Ne tür özel taksonomiler isteriz? Bu kullanım durumu için hangi gruplar mantıklı olur? Referansları, hangi hizmete atıfta bulunduklarına göre gruplandırabiliriz. Böylece özel bir hizmet sınıflandırmasına sahip olabiliriz (sörf, uçurtma, dalış). Başka bir özel sınıflandırma, kullanıcıların bu hizmeti deneyimlediği yerler vb. olabilir.

Aklınıza gelen her mantıksal grup için özel bir taksonomi oluşturabilirsiniz.

Özel bir taksonomiyi nasıl oluşturabilirsiniz?

Özel gönderi türlerinde olduğu gibi, özel bir sınıflandırma kaydetmenin iki yolu vardır. Bir eklenti ile oluşturabilir veya biraz PHP kodu yazabilirsiniz.

Bir eklenti veya kod ile ne zaman yapılacağına ilişkin nedenler ve kullanım durumları, CPT'lerle aynıdır, bu yüzden lütfen ilk makalede kontrol edin.

Burada sadece özel taksonominin nasıl oluşturulacağına ve onu özel yazı tipine nasıl bağlayacağımıza bakacağız.

Eklenti ile özel bir sınıflandırma oluşturun – kolay yol

Tıpkı önceki makalede CPT için yaptığımız gibi, özel sınıflandırmayı kaydetmek için Özel Posta Türü UI eklentisini kullanacağız:

  1. Wp-admin kontrol panelinizden Özel Posta Türü UI eklentisini kurun ve etkinleştirin ,
  2. Eklentiyi etkinleştirdiğinizde, CPT UI yönetici menü öğesi mevcut olacaktır . CPT Kullanıcı Arayüzü -> Taksonomi Ekle/Düzenle'ye gidin
  3. Taksonomi bilgisini, çoğul ve tekil adını girin ve ardından bu yeni oluşturulan özel taksonomiyi eklemek için hangi gönderi türünü seçmelisiniz (diğer varsayılan ayarlar tamam). Bizim durumumuzda özel sınıflandırmamızı adlandırdık: referans_hizmet ve bunu önceki makalede kaydettiğimiz referanslar özel gönderi türüne ekledik: Ekle-taksonomisi
  4. Şimdi yeni bir referans özel gönderi türü oluşturmak için ekrana bakarsak, sağ tarafta Referans Hizmetleri meta kutusunu ve ayrıca solda bir alt menü öğesini göreceksiniz: Yeni-deneyim ekle
  5. İşte bu kadar, artık referansları başvurdukları hizmetlere göre gruplayacak yeni hizmetler ekleyebiliriz .

Manuel olarak özel bir sınıflandırma oluşturun - kodlama dahil

Evet, başlıkta kodlamanın dahil olduğu yazıyor, ancak bu aslında doğru değil

Özel sınıflandırma kodunu oluşturmak için WP kod oluşturucuyu kullanabilirsiniz. Sadece üst kısımdaki sekmelere tıklayın ve özel sınıflandırmanızın ayrıntılarını girin. Jeneratör, geçerli bir özel sınıflandırma kayıt kodu verecektir:

 // Register Custom Taxonomy function custom_taxonomy_testimonial_service() { $labels = array( 'name' => _x( 'Testimonial Services', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Testimonial Service', 'Taxonomy Singular Name', 'text_domain' ), 'menu_name' => __( 'Testimonial Services', 'text_domain' ), 'all_items' => __( 'All Items', 'text_domain' ), 'parent_item' => __( 'Parent Item', 'text_domain' ), 'parent_item_colon' => __( 'Parent Item:', 'text_domain' ), 'new_item_name' => __( 'New Item Name', 'text_domain' ), 'add_new_item' => __( 'Add New Item', 'text_domain' ), 'edit_item' => __( 'Edit Item', 'text_domain' ), 'update_item' => __( 'Update Item', 'text_domain' ), 'view_item' => __( 'View Item', 'text_domain' ), 'separate_items_with_commas' => __( 'Separate items with commas', 'text_domain' ), 'add_or_remove_items' => __( 'Add or remove items', 'text_domain' ), 'choose_from_most_used' => __( 'Choose from the most used', 'text_domain' ), 'popular_items' => __( 'Popular Items', 'text_domain' ), 'search_items' => __( 'Search Items', 'text_domain' ), 'not_found' => __( 'Not Found', 'text_domain' ), 'no_terms' => __( 'No items', 'text_domain' ), 'items_list' => __( 'Items list', 'text_domain' ), 'items_list_navigation' => __( 'Items list navigation', 'text_domain' ), ); $args = array( 'labels' => $labels, 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, ); register_taxonomy( 'testimonial_service', array( 'testimonials' ), $args ); } add_action( 'init', 'custom_taxonomy_testimonial_service', 0 );

Bu kodu yeni oluşturulan bir eklentiye veya tema function.php dosyasına yapıştırabilirsiniz. Bu örnek için daha uygun olduğu için kodu doğrudan function.php dosyasına yapıştırdım. Testimonial Services alt menü öğesi, Testimonials yönetici kontrol paneli menüsünün altında göründü ve meta kutusu da orada, tıpkı yukarıdaki eklenti kurulumundaki ekran görüntüsünde olduğu gibi.

Özel taksonominin manuel kaydı çalışıyor, bu yüzden kodu analiz edelim ve tam olarak ne yaptığını görelim. Kod yapısı, ilk makaledeki özel gönderi türü kaydına çok benzer , ancak birkaç ayar ve işlev çağrısında değişiklik gösterir:

  • Özel taksonomiyi kaydetmek için custom_taxonomy_testimonial_service işlevini WP init eylemine bağlarız,
  • İşlev içindeki ilk kod bloğu, özel taksonomiler oluştururken/düzenlerken kullanılacak kelimeleri değiştirebileceğiniz bir etiket dizisidir. İpucu: Kaçan uluslararasılaştırma işlevlerini kullanmanızı tavsiye ederim. Yani _x() ve __() yerine esc_html_x() ve esc_html__() ,
  • İkinci blok, özel sınıflandırma için bir dizi argüman/ayardır. Hangi argümanları ayarlayabileceğinizi görmek için resmi WP belgelerine göz atabilirsiniz,
  • register_taxonomy( 'testimonial_service', array( 'testimonials' ), $args ); çağırdığınızda, testimonials özel gönderi tipine $args argümanlarıyla "eklenecek" testimonial_service özel sınıflandırmasını kaydederiz.

Artık özel gönderi türüne ve kayıtlı özel taksonomiye sahip olduğumuza göre, bunları WordPress sitemizde göstermemiz yeterli. Bu, özel gönderi türleri hakkında bir sonraki ve son blog gönderisinin konusu olacak.