WordPress Yazı Formatları ve Kullanımı

Yazı Formatları (Post Formats) WordPress 3.1 ile birlikte gelen bir tema özelliği olarak betimlenebilir. Themeforest gibi tema sitelerinden satın alabileceğiniz çoğu tema içerisinde temayı oluşturan kişilerin desteğini eklediği ama kullanıcıların büyük bir çoğunluğunun kullanmadığı bir özellik. Her bir formatın kendine has bir özelliği var ve bunları tema içerisinde farklı düzende gösterebilirsiniz. Bu özelliğin asıl kullanımı her farklı türün içerisindeki meta bilgisini ve tanımını SEO amacı ile de kullanabilmek. Örnek olarak haber sitelerindeki video içeriklerinin arama sonuçlarında ayrı görünmesi gibi.

WordPress Yazı Formatları Nelerdir?

WordPress alt yapısı dahilinde desteklenen yazı formatları listesi aşağıdaki gibidir. Temanızda destek olarak eklendiyse ya da temanıza destek olarak eklemeyi planlıyorsanız bunları göz önünde bulundurabilirsiniz. Açıklamalarıyla beraber ekliyorum.

  • aside : Başlıksız yazı paylaşımı. Facebook Güncellemesi gibi
  • audio : Ses dosyası yazı formatı. Yayınları (Podcast) tanımlamak için kullanılabilir.
  • chat : Konuşma transkripti
  • gallery : Bildiğimiz galeri, birden fazla galeri ekleyebilirsiniz.
  • link : Link için oluşturabileceğiniz yazı türü
  • image : Resim. Tekil resim yazı formatı
  • quote : Alıntı için kullanabileceğiniz format
  • status : Durum güncellemeleri için. aside formatından farklıdır
  • video : Video olarak yazıyı formatlamak için kullanılabilir

Bütün bunların yanında hali hazırda tanımlanmış olan standart adında bir format vardır. Bu WordPress sisteminin otomatik olarak kullandığı formattır.

Yazı Formatlarını sisteminizde aktifleştirmek

Temanızda bulunan functions.php dosyasına aşağıdaki kodu eklemek temanıza formatların desteğini ekler ve yazı yazma alanında sağ tarafta şu şekilde görüntülenir. Bu tabii ki sadece normal yazı türü için destek açacaktır.

Yukarıdaki kod aside,image, video, quote ve link desteğini sitenize ekleyecektir. Bunu yazı formatları ile ilgili başka bir fonksiyonunuz varsa ondan önce tanımlamalısınız. Eklendikten sonra görüntüsü ile şu şekilde olacaktır.

Özel Yazı Türleri için eklemek

Yukarıda bu özelliğin sadece WordPress standart yazı türü için ekleneceğini söylemiştim. Aşağıdaki kodu destek için yukarıdaki kodu ekledikten sonra eklemelisiniz yine functions.php dosyanıza.

Yukarıdaki kod ile WordPress sayfalarına yazı format desteğini eklemiş olduk. Özel Yazı Türleri için de add_post_type_support fonksiyonunu çoğaltabilirsiniz. Özel Yazı Türü ne yada nasıl eklenir diye sorularınız varsa sizi şu linke alalım.

Yazı Formatlarını Temada Kullanmak

Desteğimizi ekledik ancak temamız içerisinde buna uygun desteğimiz yani şablonlarımız var mı? Yok ise aşağıdaki gibi bir loop ile yazı formatlarına özel şablon oluşturabiliriz. Oluşturulabilen formatlar için Örnekler alanına bakabilirsiniz.

Kullanılabilen Fonksiyonlar

Yazı formatları için üç farklı fonksiyon vardır;
set_post_format() : Var olan bir yazı için yazı formatı belirleme fonksiyonu
get_post_format() : Var olan bir yazının formatını getirme fonksiyonu
has_format() : Yazı belirlenmiş bir formatta mı diye sorgulama fonksiyonu

Kullanımları

Örnekler

Örnek kod WordPress orjinal teması olan Twenty Seventeen içerisinden alınmıştır.

index.php dosyası içeriği (The Loop Alanı);

Yukarıda gördüğünüz üzere tema içerisine template-parts/post/ klasöründe bulunan code-aside.php gibi dosyaları çağırmak için get_template_part fonksiyonu kullanılıyor. İçerik bulunamadığında ise sadece content.php çağırılacak şekilde bir düzen yapılmış. Bu durumda örnek olarak video içeriği dosyasına bakalım.
content-video.php dosyası içeriği;

Bu da yazı formatını video seçtiğinizde oluşturabileceğiniz örnek yazı şablonudur. Bu şablon hem iç yazı is_single() hem de normal düzende kullanıldığı için faklı bir loop görüyor olabilirsiniz.

Bu bölümde ana sayfa yada kullanılan düzen için ayrı bir loop ve iç sayfa için ayrı bir düzen kullanılmıştır. Öncelikli olarak ana sayfa ve yazı listesi için yazıya eklenmiş olan öne çıkan görsel çekilerek düzende bunun kullanılması sağlanmış. İç sayfada ise yazıya eklenmiş olan video embed kodu alınarak yazının başına gelecek şekilde işlenmiş.

Bunlar için siz de ayrı şablonlar oluşturabilirsiniz.

Selametle