Yazıyı görüntülüyorsunuz Bloğumdaki toplam 12 kategoride yazılmış 292 yazıdan en güncelleri gösteriliyor. 26.5.2017
Bu yazı 02.01.2015 tarihinde yazıldı. O günden bu güne bir çok şey değişmiş ve yazı geçerliliğini yitirmiş olabilir.

Custom Post Types ve Taxonomy Hakkında

2 sene önce yazıldı, 803 kere okundu. 4

Merhabalar arkadaşlar. Gecenin bu vaktinde yeni yılın ilk bloğunu yazma fırsatım olduğu için mutsuzum. Mis gibi uyumak varken.. Niye kaçtıysa gene uykum? Her neyse. Tek aşkımız WordPress, gelin biraz daha detaylandıralım bu aşkı.

Wordpress ile bildiğimiz üzere blog tutabiliyoruz. Aynı zamanda bu sistemi kendi emellerimize alet edip bir çok acayip amaçlarda da kullanabiliyoruz. WordPress her yeni güncellemede işimizi bi hayli kolaylaştırıyor. Bu kolaylıklardan bir tanesi de Custom Post Types ve Custom Taxonomy olayı. Şöyle ki, “Yazılar” bir post type olarak geçiyor. Yani “Yazılar” gibi bir alan daha oluşturup bunun adına “Gömlekler” diyebiliriz. Ve aynı şekilde yönetebileceğimiz bu post type’a özel olarak da bir taxonomy, yani etiket sistemi kullanabiliriz.

Tabi bu iş biraz dallı budaklı ancak, ben bir başlangıç olması açısından eklenti ile anlatacağım olayı. Bahsettiğim eklenti sayesinde wordpress sistemimizde kolayca custom post type ekleyebiliriz, taxonomy atayabiliriz ve sitemizde kullanabiliriz. Bu söylediklerimi temamızın functions.php dosyasına yazacağımız bir kaç kod ile de yapabiliriz ancak, detaylı anlatıma daha sonra geçeceğim. Saat 3 olmak üzere, fazla zorlamiyim dedim.

Custom Post Type UI eklentisini buraya tıklayarak indirebilirsiniz.

Eklentiyi indirdikten sonra nasıl kurulacağını anlatmama gerek yok diyerek, direk nasıl adımlar izleyeceğimize değineceğim.

custom-post-type

Resimde de gördüğünüz gibi, Post Type Name kısmına “gomlekler” yazabiliriz. Burada belirttiğimiz, post type’ımızın ismidir ve temamızda çağırırken bu ismi kullanacağız demektir. Bu yüzden ingilizce karakterler kullanmalıyız. Label kısmında ise “Gömlekler” diyebiliriz. Böylece Wp-admin’de Gömlekler olarak gözükecektir. Singular Label ise tekil isimdir. “Gömlek” diyip geçebiliriz. Description kısmını boş bırakabiliriz. Çok fazla bir önem arzetmiyor bizim için.

Post Type ile ilgili alanları doldurduktan sonra Create Custom Post Type‘a tıklayıp oluşturuyoruz. Böylece artık Yazılar’dan başka bir post type’ımız olmuş oluyor sayın seyirciler.

BENZER  ZillaLikes 1.1 - Kalpli Beğendim Butonu

Not: Advanced Label Options kısmından Yeni Gömlek Ekle gibi kısımları türkçeleştirme ya da daha doğrusu belirleme işlemlerini yapıyoruz. Yani menüleri ve arayüzü düzenliyoruz bir bakıma.

Not2: Advanced Options kısmında ise teknik bir kaç ayarlama yapabiliyoruz. Örneğin post type’ımız için bir ikon belirleyebiliyoruz ki panelde gözüktüğünde standart raptiye iconu çıkmasın.

Not3: Bu eklenti ile ilgili detaylara bir başka yazıda değinmeyi düşünüyorum. Şimdilik standart ayarlar, çalışan bir sistem için yeterli bence.

Sıra Geldi Taxonomy’ye

Custom Taxonomy, Yazılar’da gördüğümüz Etiketlerin aynısı aslında. Aslına bakarsanız, Yazılar için ikinci bir etiket sistemi eklememize de olanak tanıyor bu olay. Hatta üçüncü, dördüncü.. Ne kadar istersek. Ama biz bunu şuan için sadece yeni eklediğimiz post type’ımızın kategori veya etiket sistemi eksiğini gidermek için kullanacağız. Nasıl Mı?

Yukardaki resme geri dönelim. Post Type eklerken yaptığımız adımları ilerleyip yeni bir taxonomy oluşturabiliriz. Burada dikkat etmemiz gereken, bu taxonomy’nin hangi post type için geçerli olacağı. Attach to Post Type ayarı bize bunu kontrol etmemizi sağlayacak. Yeni eklediğimiz post type’ı görüyoruz ve işaretliyoruz. Create Custom Taxonomy dediğimizde, etiket sistemimiz hazır oluyor.

Bu taxonomy’yi az önce verdiğimiz Gömlek örneği üzerinden giderek açıklamaya çalışayım. Örneğin, gömlek satacaksınız ve wordpress kullanarak ürünleri listeleyip sepete eklettiriyorsunuz. Gömlekleri wordpress’e eklerken bu taxonomy sayesinde renklerine, boyutlarına, hangi cins için olduklarına vesaire ayırabilirsiniz. Gömleği eklerken “Boyut” olarak açtığımız taxonomy kısmına XXL yazarsınız. Böylece, müşterileriniz sitenizde XXL‘a tıkladıklarında o etikete ait ürünleri gösterir. Bunu custom taxonomy ile çoğaltabileceğiniz gibi, listelemelerde yaşayacağınız kolaylıkları söylememe gerek bile yok.

Şimdi Bir Kaç Örnekle Konuya Biraz Daha Dahil Olalım

Custom Post Type’ımızı ekledik. Panelde görüyoruz. Eee sonra? Şimdi bunu sitede nasıl göstereceğiz? ( Burada vereceğim kodları açıklarken, normal while loop’larını vesaire tanıyan birilerini baz alarak anlatıyorum. Şuan taa en başa dönüp loop döngülerini de anlatırsam, benim veritabanı gereksiz şişmez mi? )

BENZER  Sayfaların Alt Sayfalarını Listeleme

Örnek kodlarda gördüğümüz gibi, sitedeki tüm postları değil de sadece bizim “gomlekler” içine eklediğimiz postları çekiyoruz. Her şey açık ve net aslında. Pekiştirmek amaçlı aynı kodlar üzerinden gidelim ve sadece 5 post çekelim.

Bu kadar basit. Peki taxonomy? Ben sadece XXL gömlekleri getirmek istiyorum diyebiliriz. Bu örneği de görelim;

Umarım sizler için iyi bir başlangıç olmuştur. Bana genelde yönetici panelini kullanarak kendisi içerik girmek isteyen müşterilerime paneli verirken lazım oluyor bu tarz atraksiyonlar. Yoksa, kendim kullanacak olsam custom post type açmadan normal posts ile de işlerimi halledebilirim aslında. Ama bir yönden de, yoğun editörlük işi olan sitelerde gayet kullanılası bir olay da diyebilirim. Her ne kadar işten anlasak da, işi hızlandırmak açısından önemli.

Demişken, custom fields olayına da değinmem lazım bir ara. Yine bir eklenti sayesinde özel alanları biraz daha gelişmiş hale ve kullanıcı dostu bir hale getirmiş olabileceğiz. Hatta sıradaki yazım bu olsun.

Tekrar görüşmek üzere arkadaşlar. Her türlü sorularınızı sorabilirsiniz. Elimden geldiğince yardımcı olabilmek isterim.

Kendinize iyi bakın, iyi bir sene geçirin. Hadi bakayım :)

Konuyla alakalı bir şeyler yazabilirsin.

  • loockle

    Custom Post Type konusu hakkında çok az yazı bulunuyor. güzel bir anlatım olmuş devam geldi mi acaba?

    • Merhabalar, öncelikle yorumunuz için teşekkürler. Devamı gelicek Custom Post Type konularımın ancak yoğunluğum dolayısıyla uzun süredir yazı yazamıyorum. Blog tasarımını değiştirdikten sonra sırf blog için haftalık vakit ayırıp son zamanlardaki tecrübelerimi aktarmaya devam edeceğim :)

Bunlar da ilgini çekebilir.

Nazım YILMAZ

A webmaster, working with music.

1994'ün Haziran'ında Beyşehir/Konya'da dünyaya gelmişim. O zamanlar, gerek tombikliğim gerek yeşil gözlülüğüm sebebiyle gören herkes tarafından el üzerinde ( hatta defalarca havaya atılıp tutulma gibi ) tutulmuşum.

Bebekliğim Konya'da bir köyde, çocukluğum İstanbul'da geçti. İstanbul'da başladığım iş hayatına doğduğum yer, Beyşehir'de devam ediyorum.

İZLEDİM

Mini Yabancı Diziler : Yüzde 3 Dizisi