Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

WordPress’te Her Kategoride Farklı Resim

12 sec read

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 WordPress’te her kategoride farklı resim görüntülenmesini sağlayabiliriz? İşte bu soru üzerine basit ama etkili bir teknik geldi aklıma.

İlgili Kod

[sourcecode language=’php’]
şuradaki makalemden ulaşabilirsiniz.

Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

32 Replies to “WordPress’te Her Kategoride Farklı Resim”

  1. yakuter merhaba,

    Güzel bir yazı eline sağlık…

    Yazına katkı sunmak adına yazıyorum. Kodun pratikte kullanım alanı ne olabilir? Aklıma site headerında olan ana görselin her kategoride farklı gösterilmesi ya da site arkaplan görselinin değiştirimesi geliyor.

    Yalnız bu arkaplan görsel atama işini CSS ile yapabiliriz. O zaman senin belirtiğin güzel-isim şeklinde CSS de yeni bir sınıf hazırlayıp imajı değilde, bu sınıfı çağırmamızla blogumuza güzel bir özellik katabiliriz.

    Başka kullanım alanları ne olabilir?

    1. @oztecnic, her kategoride farklı resim olabileceği gibi bazı kategorilerde sitei 2 sütun değilde 3 sütun şeklinde göstermek isteyebiliriz. Veya bazı kategorilerde yazının başlığının ve özet kısmının görünmesini isterken bazılarında sadece başlıkların listelenmesini isteyebiliriz. Gayet geniş bir kullanım alanı var. Teşekkürler katkın için.

  2. Yakuter çok tesekkür ederim.
    Heytbe com’a da ricada bulunmuştum sağolsun oda ilgilendi.
    birçok kişinin işine yaracak mutlaka.
    heytbe com un yaptığı kod üzerinde ufak değişiklik yaparak kategorilerin alt sayfalarındada logonun gösterilmesini sağladım..

    Kod aşağıda,bir kaç küçük konuda takıldım yine burda çözebiliriz sanırım.

    <?php
    if (is_home()) {
    // Eger anasayfada gorunmesini istediginiz resim var ise...
    echo "";
    } elseif (in_category('7')) {
    // hangi kategoride farklı bir resim goruntulenmesini istiyorsaniz.
    echo "";
    } elseif (in_category('4')) {
    // hangi kategoride farklı bir resim goruntulenmesini istiyorsaniz.
    echo "";
    } else {
    // Eger her iki sayfadada degilsen bu resim gosterilsin...
    echo "";
    }
    ?>

    Yayınlanan logolara tıklayınca ,logo anasayfadakiyse anasayfaya,
    Katagoriler içindeki haberlerdeyse Kategori anasayfasına gitmesi nasıl sağlanır.

    yani
    <a href=”/”>

    kodu üstteki koddaki her kategoriye nasıl uygularım.

  3. Güzel fakat bence gereksiz bir eklenti (Bu benim şahsi görüşümdür). Yinede elinize sağlık..

    1. @Attack, bu bir eklentiden ziyade ufak bir çözüm. Ve bu zamana kadar o kadar farklı istekle karşılaştım ki artık hiçbir şey bana gereksiz görünmüyor çünkü mutlaka ihtiyacı olan birileri oluyor. Zaten kendime göre gereksiz diye sınıflandırsaydım bu günlük bu kadar çok takip edilmezdi.

  4. İllaki birinin ihtiyacı vardır bu eklentiye. :)

    Teşekkürler yakuter :)

  5. Gerçekten çok faydalı bir çözüm olmuş. Çok sağolun.
    Bir sorum olacak. Benim bir kategorim var. Ve bu kategori ismi sitenin neresinde yayınlanırsa yayınlansın kategori isminin başına koyduğum icon yani resimde gözüksün istiyorum. Bunu nasıl yapabiliriz.
    Umarım anlatabilmişimdir.

  6. Gayet gerekli bir çözüm, özellikle çok kategorili bloglar için görsel açıdan büyük bir artı olacaktır.

    Tabi bizim millet bilgi sahibi olmadan fikir sahibi olmayı pek sever. Sen belki birine lazım olur diye düşün, taşın, test et, uygula. Bu kadar teknik bilgiyi herkes anlayabilsin diye özenle makaleni hazırla, sonra birisi çıksın güzel ama gereksiz desin :) gereksiz kodların bulunduğu sayfaya girip yorum yazabilecek kadar boş insanlara –bu da benim şahsi görüşümdür– rağmen yeni çözümler üretmen dileğiyle…

  7. @mesut, yukarıda yazılanlarla bunu yapabilirsin. Tabi biraz kod bilgisi lazım :( Umarım özel olarak yardım edecek birisi bulabilirsin çünkü bu şekilde kişisel istekleri yerine getirmek için vaktim olmuyor.

  8. Olsun zahmet edipte yapamayacağını söylemen bile yeterli.Teşekkürler. çalışmalarında başarılar dilerim.

  9. Ne kadar işime yaradı anlatamam konularımın başına ülke bayrakları eklemem gerekiyodu burdaki kod yardımıyla eklemiş oldum çok teşekkür ederim açıklayıcı konu için :)

  10. Sağol .. Kullanılabilir bir kod. :) Bloga farklı bir hava katıcaktır .

  11. Ellerine sağlık. Ancak kategori ismiyle değilde kategori idsi ile yapılırsa daha güzel olur bence. Böyle türkçe karakterli resim adreslerinde sorunda yaşanmaz =)

  12. merhabalar, yazı çok güzel eline sağlık yakuter.. yanlız benim bi sorunum var!!! verdiğin kodu denedim ama kategori ID’lerini özellikle dikkat etsemde en sondaki “else” olan sidebar çıkıyor… bir tülü çözemedim! sence nedeni ne olabilir?

    1. Metin Bey, malesef sisteminizi ele alıp dikkatli bir şekilde incelemek lazım. Bunu yapacak birisini WordPress-tr.com forumlarından bulabilirsiniz. Veya kodları oraya yazarak cevabını alabilirsiniz. Malesef ben yorumlarımda kod kullanmıyorum.

  13. teşekkürler.
    şöyle bir sorun var:
    “Türkiye” üst kategori, “İstanbul” alt. Yazılar İstanbul kategorisinde, Türkiye kategorisinde hiç yazı yok ama üst kategori olduğu için İstanbul yazıları Türkiye altında da gösteriliyor. ben “turkiye.jpg” diye resmi eklediğimde onu görmüyor, “istanbul.jpg” resmini arıyor. yani üst kategoride resmi gösteremedim. nasıl çözerim?

  14. Erhan Bey Paylaşımınız İçin Teşekkürler Bu Kod İle Biraz Değiştirerek Sizin Araçlar Daki Gibi Kategori Listeleme Görüntüsünü Değiştirmek Mümkünmüdür ?

    Yani,

    <img src="<?php bloginfo('template_url'); ?>/images/<?php echo $category[0]->category_nicename; ?>.jpg" />

    Kodu Yerine Css Kodlarını Ve Listeleme Kodlarını Eklesek Sizinki Gibi Bir Görünüm Elde Edebilirmiyiz ?

  15. Bu çok güzel teşekkür ederim, yalnız bunu site arkaplanı için nasıl uygulayabiliriz.

  16. Merhabalar bu çok güzel ve tam da aradığımı buldum diyebilirim. Yalnız ben bunu joomla ile yaptığım sitelerde de yapmk istiyorum onun için ne yapmam lazım bu konuda yardımcı olabilir misiniz?

  17. #
    // get the first medium image associated to the ad
    #

    #
    // used on the home page, search, category, etc
    #

    #
    if (!function_exists('cp_get_image')) {
    #

    #
    function cp_get_image($post_id = '', $size = 'medium', $num = 1) {
    #

    #
    $images = get_posts(array('post_type' => 'attachment', 'numberposts' => $num, 'post_status' => null, 'post_parent' => $post_id, 'order' => 'ASC', 'orderby' => 'ID'));
    #

    #
    if ($images) {
    #

    #
    foreach ($images as $image) {
    #

    #
    $img_check = wp_get_attachment_image($image->ID, $size, $icon = false);
    #

    #
    $img_check = preg_replace('/title="(.*?)"/','', $img_check);
    #

    #
    }
    #

    #
    } else {
    #

    #
    // show the placeholder image
    #

    #
    if(get_option('cp_ad_images') == 'yes') { $img_check = '<img class="attachment-medium" alt="" title="" src="'. get_bloginfo('template_url') .'/images/no-thumb.jpg" />'; }
    #

    #
    }
    #

    #
    echo $img_check;
    #

    #
    }
    #

    #
    }

    İstediğimiz kategori altındaki bütün yazıların thumbnail ve yazı resimlerini tek bir resim ile değiştirmek istiyorum bunu bu kodlarda nasıl yapabilirim. Bazı kategorilerimde 3500 tane aynı resim var. Yani 3500 farklı resim. Eğer bunu tek bir resim yaparsam Böylelikle wordpress i biraz hızlandırmayı düşünüyorm. Yardımcı Olurmusunuz

    Kodun devamı
    http://www.pastebay.org/113673

  18. Merhabalar..

    Ben sitemdeki her kategoride farklı bir arkaplan resmi çıksın istiyorum.. Buradaki metodu denedim ama bir sonuç çıkmadı.. Bazı farklı yabancı kaynaklara baktım şöyle bir metod buldum:

    _________________________________________________________
    <?php if (have_posts()) : ?>

    <?php $cat_obj = $wp_query->get_queried_object(); $cat_id = $cat_obj->cat_ID; ?>

    <?php if (in_category('1001') ):
    // category 1001 ?>
    <style type="text/css">
    body {background-color:#000;background-image:url(/images/background.jpg);background-repeat:repeat;}
    </style>

    <?php elseif (in_category('1002') ):
    // category 1002 ?>
    <style type="text/css">
    body {background-color:#000;background-image:url(/images/background2.jpg);background-repeat:repeat;}
    </style>

    <?php endif; // end the if, no images for other other categories ?>
    —————————————————————————————————–

    Fakat buda işimi görmedi ama aşağı yukarı buna benzer birşey olacak sanırım..

    Aslında bana sizin verdiğiniz "nicename" metodu daha mantıklı geliyor ama dediğim gibi bir sonuç çıkmadı.. 6 farklı bg resmi hazırlayıp 6 sınında isimlerini oluşturmuş olduğum kategorilerin nicename ismini göre düzenleyip verdiğiniz metodu uyguladım ama başaramadım..

    Şu olaya bir el atıp çözüme kavuşturabilir misiniz? :)

  19. Merhaba.
    Yazdığınız kodlar sadece o kategoriye ait bir yazının içerisine girdiğimizde çalışıyor. bu da epey iş gören bir şey.
    Fakat benim istediğim şey şöyle;
    Mesela "Meyveler" kategorisine tıkladığımızda meyvelerle ilgili tüm yazıların listelendiği bir kategori sayfası açılıyor. İşte bu sayfanın herhangi bir yerinde Meyvelerle ilgili bir resim eklenmesini istiyorum.
    Ayrıca bu kodlar Sadece Alt kategorilerde çalışıyor. Üst kategorilerde çalışmıyor.
    Özetle; Kategorinin anasayfasına girdiğimizde o kategoriye ait resmin o sayfada görüneceği şekilde fikir verebilirseniz çok memnun olurum. İyi çalışmalar.

  20. çok teşekkürler bu konu beni çok uğraştırdı sanırım başka bir yoluda yok kod sağlam teşekkürler

  21. Hocam ben url sonunu /<?php echo $category[0]->cat_name; ?>.jpg şeklinde yapınca kod çalışıyor ama
    sizin dediğiniz gibi /<?php echo $category[0]->cat_nicename; ?>.jpg şeklinde yapınca çalışmıyor lütfen yardımcı olur musunuz

Leave a Reply

Your email address will not be published. Required fields are marked *