Sitemdeki yazıların bazıları okuyucularımdan aldığım fikirler sonucu ürettiğim çözümlerden oluşuyor. Yine böyle bir fikir geldi bu akşam. Nasıl WordPresste her kategoride farklı resim görüntülenmesini sağlayabiliriz? İşte bu soru üzerine basit ama etkili bir teknik geldi aklıma.
İlgili Kod
<?php $category = get_the_category(); ?>
<img src="<?php bloginfo('template_url'); ?>/images/<?php echo $category[0]->category_nicename; ?>.jpg" />Yukarıdaki kodun açıklaması şöyle;
Öncelikle mevcut kategori bulunur,
Kategorinin güzel ismi (nicename) alınır ($category[0]->category_nicename),
Bu güzel isim ve sonuna .jpg eklenerek tamamlanan resim temanın images klasöründen çağırılır.
Kullanımı
Öncelikle güzel ismin (nicename) ne demek olduğunun bilinmesi gerekir. Güzel isim kategori isminin Türkçe ve adres satırı için uygunsuz karakterlerden arındırılmış şekline denir. Örneğin Site Eleştirileri kategorisinin güzel ismi site-elestirileridir.
Sitenizdeki her kategori için bir resim hazırlayın ve bu resimlerin isimlerini ilgili kategorinin güzel ismininin sonuna .jpg eklenmiş olarak değiştirin (site-elestirileri.jpg). Kategoriler için resimleri uygun şekilde adlandırdıktan sonra bu resimleri temanızdaki images klasörüne yükleyin.
Artık yukarıda verdiğim kodu sitenize yerleştirdiğiniz zaman o an görüntülenen kategori için hazırladığınız resim görünür. Bu arada malum çözüm en sağlıklı şekilde bir kategoriye veya bir yazıya tıklandığında çalışır. Kodu gerekirse ona göre is_single() vb. kodlarla sadece tek yazı görünümünde veya kategori görüntülenirken çalıştırabilirsiniz. is_home() dediğinizde de anasayfada görünmesini istediğiniz resmi çağırırsınız. Eksik ama yine de örnek olması açısından şöyle bir kodu kullanabilirsiniz.
<?php if(is_home()){ ?>
<!-- Anasayfada gösterilecek resim kodu -->
<img src="<?php bloginfo('template_url'); ?>/images/resim.jpg" />
<?php } else {
$category = get_the_category(); ?>
<img src="<?php bloginfo('template_url'); ?>/images/<?php echo $category[0]->category_nicename; ?>.jpg" /><?php } ?>
Not: is_home, is_single gibi koşullar hakkında daha detaylı bilgiye şuradaki makalemden ulaşabilirsiniz.