Yazıyı görüntülüyorsunuz Bloğumdaki toplam 12 kategoride yazılmış 292 yazıdan en güncelleri gösteriliyor. 26.6.2017

Custom Post Type İçin WP-Query Kodu

1 sene önce yazıldı, 524 kere okundu. 0

Merhabalar arkadaşlar. Hepimiz altyapısında wordpress kullandığımız çoğu özel web sayfalarında custom post typeları kullanıyoruz. Bu yazımda ise ilk defa kullanacak olan arkadaşlar için bu özel post typeları nasıl listeleyeceğimizi ve tekil gösterim sayfasını nasıl ayarlayacağımı anlatmaya çalışacağım. Ancak öncelikle, custom post type nedir kısaca bahsedelim.

Custom Post Type olayımız, wordpress üzerinde Yazılar gibi yeni bir alan oluşturmaya yarıyor. Örneğin Firmalar diye bir bölüm eklemek istiyorsunuz, bunu Custom Post Type ile yapabilirsiniz. Post Type oluşturmak için ise Custom Post Type UI eklentisini kullanabilirsiniz. Sanıyorum daha önce başka bir yazımda bahsetmiştim. Ek olarak, bu post typelar için taxonomy ( kategori, etiket sistemleri ) ekleyebilir, özel alanlar tanımlayabilir ve tüm gösterim sayfalarını diğer post typelardan farklı kılabilirsiniz.

Şimdi geçelim bu post type içerisindeki postları nasıl bir sorgu ile ekrana listeleyeceğimize. Aşağıdaki kodları kullanarak özel olarak oluşturduğunuz post typelarınızın içerisindeki postları tıpkı normal postlarınızı listelermiş gibi listeleyebilirsiniz. Bunu yaparken çeşitli argumentleri de kullanabilirsiniz. Daha önceden wordpress ile haşır neşir olduysanız kodlar zaten tanıdık gelecektir. Her şey çok basit, listeleyeceğiniz alana aşağıdaki kodları yapıştırın ve düzenleyin. Tabi kopyala-yapıştır mantığınızı değil, kod mantığınızı geliştirmenizi diliyorum.

Gördüğünüz üzere, posttypeslug kısmına post typeınızın kısa adını ( slug ) yazmanız gerekiyor ki neyi getireceğini bilsin sorgumuz. Onun dışında, normal query veya while döngülerimizde kullandığımız the_permalink(); gibi fonksiyonları kullanıyoruz, hiç bir yabancı kod yok aslında. Sorgumuzun içerisindeki li’ler kendini tekrarlıyor.

BENZER  Youtube Video ID'si ile Video Görselini Getirmek

Peki bu postlara tıkladığımızda postu hangi sayfa gösterecek?

Bildiğimiz üzere, normal postlarımızı ( Yazılar içerisndeki yazılarımızı ) gösteren sayfa single.php sayfamız. Yine o sayfanın bir türevini kullanarak işimizi görebiliriz. Custom Post Typeımız içerisindeki postlarımızı göstereceğimiz sayfa single-posttypeslug.php olacaktır. Single.php dosyanızı çoğaltıp bu şekilde isimlendirip istediğiniz değişiklikleri yapabilirsiniz.

Ne gibi işlerimizi çözebiliriz?

Örneğin benim en çok kullandığım mantık şu; slider eklentileri kullanmak yerine bir post type oluşturup adına slider diyorum ve kendi hazırladığım veya kütüphane olarak dahil ettiğim slider pluginlerinin içerisine php kodlarımı yerleştiriyorum, kolay kullanımlı rahat ve eklentisiz bir slider edinmiş oluyorum. Aynı şekilde, firmalar diye bir bölüm oluşturup firmalarınızı bu şekilde ekleyebilirsiniz. Ya da web sayfasını müşterinize hazırlıyorsanız, kolay yönetimini sağlamak amacı ile ayırabileceğiniz bölümleri post typelara bölebilir, müşterinizin daha rahat bir şekilde içeriğini yönetmesini sağlayabilirsiniz. Bunlar tabi basit kullanımlar. Örneğin bir portal ( şirket içi haberleşme gibi. ) uygulamasında birbiriyle ilişkilendirilmiş postları kullanarak ve tabiki custom post typelarla içerikleri yöneterek, daha profesyonel bir deneyim sağlanabilir, şahsen ben bir projemizde bu imkanları sonuna kadar kullandım ve çok da zevk aldım.

Umarım faydalı bir yazı olmuştur.
Tekrar görüşmek dileği ile!

Konuyla alakalı bir şeyler yazabilirsin.

  • Yazı için teşekkür ederim. Güzel anlatmışsın. Bir de kategorilere göre custom post ları nasıl çağıracağız. onu da eklesen süper olur.

    • Yorumunuz için teşekkür ederim öncelikle. Custom Post Type’lar için standart query filtrelemelerinizi kullanabilirsiniz. Tabi post type oluştururken tax veya cat desteğini aktif edip, hangilerini kullanabileceğini belirtmeniz gerekiyor.

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