1188 takipçi
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.
<?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 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-elestirileri‘dir.
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.
Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.
oztecnic
28 Mart 2009
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?
yakuter
28 Mart 2009
@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.
gokmen
28 Mart 2009
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.
Attack
29 Mart 2009
Güzel fakat bence gereksiz bir eklenti (Bu benim şahsi görüşümdür). Yinede elinize sağlık..
yakuter
29 Mart 2009
@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.
mesut
13 Nisan 2009
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.
cyhn
25 Nisan 2009
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…
mesut
25 Nisan 2009
Peki benim sorum ne oldu :)
yakuter
26 Nisan 2009
@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.
mesut
26 Nisan 2009
Olsun zahmet edipte yapamayacağını söylemen bile yeterli.Teşekkürler. çalışmalarında başarılar dilerim.
Cenk
11 Haziran 2009
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 :)
Özgür
05 Ekim 2009
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 =)
Meyus
25 Kasım 2009
Teşekkürler. Çalışmalarınızın devamını dilerim.
Metin METE
29 Aralık 2009
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?
yakuter
29 Aralık 2009
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.
selami
12 Mayıs 2010
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?
Osmancan
17 Temmuz 2010
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 ?
Rıza GÜVEN
06 Eylül 2010
Bu çok güzel teşekkür ederim, yalnız bunu site arkaplanı için nasıl uygulayabiliriz.
Şarkı Dinle
15 Aralık 2010
güzel bende anasayfada böyle birşey yapmak istiyordum elinize sağlık..
Rıza
29 Aralık 2010
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?
gedop
12 Ocak 2011
#
// 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
Hofboard
31 Mart 2011
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? :)
Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.
Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...
YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...
Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....
Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...
Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...
Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.
yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.