Bloğumda toplam 12 kategoride yazılmış 316 yazı ve 269 yorum var.

Custom Post Types ve Taxonomy Hakkında

10 sene önce yazıldı, 2.698 kere okundu. 5

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  Hide My Wp - Wp-admin ve Wp-login Adreslerini Değiştirelim

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? )

<?php
  query_posts( array( 'post_type' => 'gomlekler') ); // post_type olarak 'gomlekler' yazdık.
  if ( have_posts() ) : while ( have_posts() ) : the_post(); // while döngüsünü başlattık.
?>

// ne göstereceksek çağırıyoruz.
<?php the_content(); ?> // ben yazı içeriğini çağırdım mesela.

<?php endwhile; endif; wp_reset_query(); ?> // bitiriyoruz.

Ö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.

<?php
  query_posts( array( 'post_type' => 'gomlekler', 'showposts' => '3') ); // post_type olarak 'gomlekler' yazdık. 3 tane getir dedik.
  if ( have_posts() ) : while ( have_posts() ) : the_post(); // while döngüsünü başlattık.
?>

// ne göstereceksek çağırıyoruz.
<?php the_content(); ?> // ben yazı içeriğini çağırdım mesela.

<?php endwhile; endif; wp_reset_query(); ?> // bitiriyoruz.

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

<?php
  query_posts( array( 'post_type' => 'gomlekler', , 'gomlekler' => 'xxl') ); // post_type olarak 'gomlekler' yazdık. Taxonomy XXL seçtik.
  if ( have_posts() ) : while ( have_posts() ) : the_post(); // while döngüsünü başlattık.
?>

// ne göstereceksek çağırıyoruz.
<?php the_content(); ?> // ben yazı içeriğini çağırdım mesela.

<?php endwhile; endif; wp_reset_query(); ?> // bitiriyoruz.

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.

BENZER  Herhangi Bir Post Type'ın Post Sayısını Göstermek

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.

MacBook Pro M2 13” İle İkinci Günüm

Merhabalar! Instagram kullanıcı adımı değiştirdikten sonra artık şu blog işine bi el atayım istedim ve yeniden...

1 sene önce. 55 0 Devam Et

Kahramanmaraş Depremi ve Düşüncelerim

Merhaba arkadaşlar. Uzun süredir bir şeyler yazmıyordum, zaten çok nadiren girip bir şeyler yazıp çıkıyorum an...

2 sene önce. 69 0 Devam Et

Asus ROG Strix G513IC 144Hz Dizüstü Bilgisayar ile Yaşadığım Problemler

Öncelikle herkese merhaba! Çok uzun bir süredir bloğum aktif değildi ve artık bişeyler yazmak çizmek için tekra...

2 sene önce. 101 0 Devam Et

Macbook Air 2017’yi Kimlere Tavsiye Edebilirim?

Bir süredir sık sık Macbook Air’i proje işlerinde ve sunumlarda kullanıyorum. Sizlere bu yazımda 2017 model ...

4 sene önce. 150 0 Devam Et

2021’e Girerken Hayata Dair Genel Bir Değerlendirme Yapalım

Merhabalar yeniden! Hemen her yazıya başlarken söylediğim gibi; epeydir bir şeyler yazamıyorum ama yeniden bir şe...

4 sene önce. 132 0 Devam Et

Hakkımda

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.

Uzun yıllar çeşitli firmalarda çalıştıktan sonra 2017’den beri kendi yazılım ve reklam şirketimi kurdum. Geliştirmeye ve değiştirmeye devam ediyoruz.