Besleme(feed) içerisindeki yazılara thumbnail eklemek

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.

  1. Yazılara ait ufak resimleri özel alan olarak tanımlamalısınız ya da tanımlanmış olmalı.
  2. Aşağıda vereceğim kodları temanıza ait functions.php dosyasına eklemelisiniz.

İşte bu kadar 🙂

Besleme(feed) içerisindeki yazılara thumbnail eklemek

İ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.

http://feeds.feedburner.com/dmry