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(feed) içerisindeki yazılara thumbnail eklemek
Besleme listesindeki yazılara ufak resimler iliştirmek çok basit aslında.
- Yazılara ait ufak resimleri özel alan olarak tanımlamalısınız ya da tanımlanmış olmalı.
- Aşağıda vereceğim kodları temanıza ait functions.php dosyasına eklemelisiniz.
İş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.
Eğer functions.php varsa
Zaten hali hazırda bir functions.php varsa,
[php]<?php[/php]
satırının bir altına yeni satır oluşturun ve alttaki kodları oraya yapıştırın.
[php]
add_filter(‘the_excerpt_rss’, ‘wp_rss_thumbnail’);
add_filter(‘the_content_feed’, ‘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;
}
[/php]
Eğer functions.php yoksa
Zaten functions.php dosyası yoksa bu isimde bir dosya oluşturun ve açın. Ardından alttaki kodları yapıştırın.
[php]
<?php
add_filter(‘the_excerpt_rss’, ‘wp_rss_thumbnail’);
add_filter(‘the_content_feed’, ‘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;
}
?>
[/php]
Özel alan adının tanımlanması
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.
Eğer resimlerin tam url adresi girilmiyorsa
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,
[php]$thumb = get_post_meta($post->ID,’thumbnail’,true);[/php]
satırını,
[php]$thumb = ‘http://blogadresim.com/wp-content/uploads/’. get_post_meta($post->ID,’thumbnail’,true);[/php]
gibi değiştirebilirsiniz. Öndeki URL, resimlerinizin var olduğu adres olacaktır. Artık ne ise, onunla değiştirmelisiniz 😉
Resim URL adresleri karışık ise
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,
[php]$thumb = get_post_meta($post->ID,’thumbnail’,true);[/php]
satırını;
[php]$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);[/php]
olarak değiştirmelisiniz.
Örnek Adres
Bir örnek görmek için benim besleme adresime bakabilirsiniz.