Sitenizin haber kaynağındaki (feed) yazılarınıza tek tek ufak resimler (thumbnail) eklemek ister misiniz? Böylece çok daha dikkat çekici bir besleme kaynağına sahip olabilirsiniz. Hele hele mevcut temanız üzerinde zaten yazılara ait resimler iliştiriyorsanız ve bunu özel alanlar ile yapıyorsanız, bahsettiğimiz olayı gerçekleştirmeniz sadece birkaç satır kod sayesinde mümkün
Besleme listesindeki yazılara ufak resimler iliştirmek çok basit aslında.
İşte bu kadar
![]()
İlk ne dedik? Özel alanlar ile resim adreslerini girmelisiniz. Yani “thumbnail” adında bir özel alanınız olabilir ve resmin tam URL adresini oraya giriyor olabilirsiniz
Sonrasında ise temanıza ait functions.php dosyasına kod ekleme kalıyor. Eğer tema dizini altında functions.php dosyası yoksa, bunu elle oluşturabilirsiniz.
Zaten hali hazırda bir functions.php varsa,
<?php
satırının bir altına yeni satır oluşturun ve alttaki kodları oraya yapıştırın.
add_filter('the_excerpt_rss', 'wp_rss_thumbnail');
function wp_rss_thumbnail($data) {
global $post;
$thumb = get_post_meta($post->ID,'thumbnail',true);
$cikti = '<img src="'.$thumb.'" align="right" vspace="0" hspace="10" />';
$cikti .=$data;
return $cikti;
}
Zaten functions.php dosyası yoksa bu isimde bir dosya oluşturun ve açın. Ardından alttaki kodları yapıştırın.
<?php
add_filter('the_excerpt_rss', 'wp_rss_thumbnail');
function wp_rss_thumbnail($data) {
global $post;
$thumb = get_post_meta($post->ID,'thumbnail',true);
$cikti = '<img src="'.$thumb.'" align="right" vspace="0" hspace="10" />';
$cikti .=$data;
return $cikti;
}
?>
Yukarıdaki uygulamada resim adreslerinin yer aldığı özel alan adı thumbnail olarak tanımlandı. Ancak sizde resimler “Image” adında bir özel alanda tanımlanmış olabilir. Böyle bir durumda kod içerisindeki thumbnail yerlerini Image ile değiştirmelisiniz.
Resimlerin tam url adresi girilmiyor olabilir. Yani sadece dosya adı (resim.jpg) olarak özel alana tanımlanıyor olabilir. Ve temanız, bu dosyanın yer alması gerektiği dizini çıktı vermeden önce otomatik ekler. Böyle bir uygulama varsa temanızda, yukarıda kod üzerinde düzenleme yapmalı ve resimlerin var olduğu dizini tanımlamalısınız. Yani,
$thumb = get_post_meta($post->ID,'thumbnail',true);
satırını,
$thumb = 'http://blogadresim.com/wp-content/uploads/'. get_post_meta($post->ID,'thumbnail',true);
gibi değiştirebilirsiniz. Öndeki URL, resimlerinizin var olduğu adres olacaktır. Artık ne ise, onunla değiştirmelisiniz
Eğer yazılara tanımladığınız resim url adresleri karışık ise alttaki şekilde bunları ayırt edebilirsiniz. Bu koşulu, yorumu ile bize bildiren @Mesut arkadaşımızın isteği üzerine oluşturduk.
Resimlerin tam url adresini giriyor olabilirsiniz. Örneğin: http://img.dmry.net/blog/03/wordpress-2-9-ile-yazi-ve-sayfalara-thumbnail-eklemek-1383.jpg
Ya da dizin adresini de giriyor olabilirsiniz. Örneğin: images/yazarlar/yazar.jpg
Bunların ikisini ayırt etmek için,
$thumb = get_post_meta($post->ID,'thumbnail',true);
satırını;
$thumb = (substr(get_post_meta($post->ID,'thumbnail',true),0,7)=='http://') ? get_post_meta($post->ID,'thumbnail',true) : 'http://blogadresim.com/'. get_post_meta($post->ID,'thumbnail',true);
olarak değiştirmelisiniz.
Bir örnek görmek için benim besleme adresime bakabilirsiniz.
emre selam,
onun için zaten bir eklenti var. hazır yani. eklentiler içerisinden rss diye aratırsan bulabilirsin. ismini şu an tam çıkartamıyorum
Peki önizleme resimleri için hiç özel alan kullanmadıysak? Konuya eklenen ilk resmi çekip thumbnail olarak göstersek olmaz mı?
Hakan, son versiyonda çalışmıyor
))
Merhaba, wordpress son sürümlerde ne yazıkki çalışmadı bu olay.. Bilgisi olan varsa paylaşırmı rica etsem. Teşekkürler .. WP Sürüm : 3.0
hocam çok güzel oldu, teşekkür ederim eline sağlık.
@Mesut; Tamam şimdi anladım
Yazının sonuna bu koşul için yapılması gerekenleri ekledim
$thumb = get_post_meta($post->ID,’thumbnail’,true); kodu ile kendi sitemizdeki resimleri $thumb = ‘http://blogadresim.com/wp-content/uploads/’. get_post_meta($post->ID,’thumbnail’,true); kodu ile dışarıdan verdiğimiz linkleri çıkarıyoruz. Hem kendi sitemden link verdiğimde hem de dışarıdan link verdiğimde gözükmesini istiyorum.
if (resim dışarıdan ise) {
$thumb = get_post_meta($post->ID,’thumbnail’,true);
}else{
$thumb = ‘http://blogadresim.com/wp-content/uploads/’. get_post_meta($post->ID,’thumbnail’,true);
}
gibi olabilir ama “resim dışarıdan ise” şartına hangi kod gelmeli bunu bulamadım
Hocam bazen herhangi bir siteden link veriyorum örnek: http://img.dmry.net/blog/03/wo.....k-1383.jpg bazende kendi sitemden link veriyorum örnek : images/yazarlar/yazar.jpg
her iki durumda da rss de resimleri nasıl çıkarırım ?
@Mesut;; sorunu tam anlamadım. Özel alana eklediğin bir resmin örnek olması açısından aynen girdiğin gibi adresini yazar mısın? yani o adresi alıp tarayıcıya yapıştırdığında resim görüntüleniyor mu? eğer evetse, yukarıdaki adımlardan birini eksik ya da yanlış yapıyor olabilirsin
peki resimler hem tam url olarak giriliyor hem de sunucuda bir klasör adı belirtiliyorsa (images/yazarlar/yazar.jpg gibi) ne yapabiliriz.
Birde http://www.siteadi.com/feed olarak mı belirtmek gerekir feedburner de yoksa http://www.siteadi.com/feed/rss olarak mı? bende sadece /feed olarak belirli ve düzgün çalışıyor ama bu adreste resimler çıkmıyor
yazı için çok teşekkür ederim.