WordPress Farklı Kategoriler için Farklı single.php Kullanımı

0

WordPress tasarımcılarının kullandığı güzel bir yöntemden daha bahsedicem. Eğer sizde yeni WordPress teması oluşturmaya çalışıyorsanız bu yazı size çok faydalı olcaktır.

Bazı kategori gruplarında özel alanlar oluşturup ek yazılar yazabilir, bazı kategori içeriklerindeki reklamları farklı yerleştirebilir veya bir çok farklı işlem yapabilirsiniz. Ben buna neden ihtiyaç duydum? Referanslar ile normal blog yazılarının içerik sayfalarını birbirinden ayırmam gerekiyordu ve bu şekilde ayırabildim.

 

Farklı single.php oluşturmak

Mantık çok kolay PHP if else ile bu işlemi yapıcaz.

Öncelikle Notepad++ programı ile masaüstümüzde bir single.php dosyası oluşturuyoruz içerisinede alttaki kodları yazıyoruz.

<?php
$post = $wp_query->post;
if ( in_category('1') ) {
 include(TEMPLATEPATH . '/single-blog.php'); }
elseif ( in_category('2') ) {
 include(TEMPLATEPATH . '/single-referanslar.php'); }
else {
 include(TEMPLATEPATH . '/single-normal.php');
}
?>

Yukarıdaki kodumuzda in_category kısmına yazdığımız 1 kategori ID‘si oluyor. Kategori ID’si 1 olan yazılarda single-blog.php dosyasını açmasını söylüyoruz. Kategori ID’si 2 olanları ise single-referanslar.php dosyasına yönlendiriyoruz eğer bunlardan hiç biri değil ise single-normal.php dosyasına yönlendiriyoruz.

WordPress Kategori ID’sini bulmak

Bu şekilde referanslar ve blog sayfa içeriklerimi değiştirmiş oldum. Burada kullanabileceğiniz farklı bir mantık daha göstereceğim belki hazır bir tema yapıp ücretsiz dağıtmak istiyorsunuz yukarıdaki şekilde dağıttığınızda insanlar kodlara girip ID tanımlama yapması gerekiyor. Bunun önüne geçmek için kategori isimleri ile bu durumu çözebiliriz. Alttaki kodda ise kategori ID’si değilde ismine yer verdim.

<?php
  $post = $wp_query->post;
  if (in_category('blog')) {
      include(TEMPLATEPATH.'/single_blog.php');
  } elseif (in_category('referanslar')) {
      include(TEMPLATEPATH.'/single_referanslar.php');
  } else{
      include(TEMPLATEPATH.'/single_normal.php');
  }
?>

Artık temamı indirenlere şunu söyleyebilirim “referanslar” adında oluşturacağınız kategorilerde içerikler bu şekilde gelecek.

İlerleyen yazılarımda diğer konularada değineceğim WordPress 3.8 ile gelen Post Formats ile ilgili geniş bir yazı yazmayı düşünüyorum. 🙂