WordPress Sitenizde Konulardaki Resmi Çekmek

WordPress blogunuzda custom listeleme yapacağınız zaman onlarca fonksiyon ve tag ile boğuşmanız gerekmekte. Bu makalemizde ilgili fonksiyonları basit bir dil ile anlatmaya çalışacağız. WordPress dahilinde iki adet görsel türü vardır : öne çıkarılmış görseller (thumbnails) ve konu içersinde kullanılan görseller.

WordPress öne çıkarılmış görselinizi çekmenizi sağlayan bir tag hazır tutar fakat konu içersindeki görseli çekmek başlı başına yazılım işi. İşin zor kısmıyla başlayalım :
Neleri konuşacağız?

  1. Konu içersindeki ilk resim nasıl çekilir?
  2. Konulara eklenilen öne çıkarılmış görsel nasıl çekilir?
  3. Detaylar

Konu içersindeki ilk resim nasıl çekilir?

Bu işlemi yapmak için fonksiyon(function) kullanmamız gerekiyor. Hali hazırda bu görevi üstlenen catch_that_image() isimli bir fonksiyon mevcut. Aşağıdaki fonksiyonu function.php’ye ekleyiniz.

function resmi_getir() {
global $post, $posts; /* Tarayacağımız alanı belirliyoruz*/
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0]; /* Üstte filtrelediğimiz metinden url'yi çekiyoruz */

if(empty($first_img)){ /*Eğer konuda görsel yoksa aşağıdaki varsayılan görseli kullan*/
$first_img = "thumbnail-yok.jpg";
}
return $first_img;
}

Yukarıdaki fonksiyon ilgili konu içinde arama yapıp <img> tagı arasındaki URL’yi filtreliyor. Şimdi gelelim bu fonksiyonu sayfamızda kullanmaya. catch_that_image() sayesinde konudaki ilk fotoğrafı öne çıkarılmış görsel gibi yayınlayabileceksiniz. Listelemenize aşağıdaki kodu eklemeniz yeterli.

<img src="<?php echo resmi_getir();?>"/>

Konulara eklenilen öne çıkarılmış görsel nasıl çekilir?

<?php the_post_thumbnail; ?>

the_post_thumbnail ile ilgili tüm detaylar için buradaki makalemize bakabilirsiniz. Yukarıdaki kod satırını kullanarak öne çıkarılmış görseli direkt olarak çekebilirsiniz. Bu sefer <img> tagını kullanmamız gerekmiyor çünkü WordPress bunu kendisi atıyor.

Detaylar

Aşağıdaki kaynaklarda, WordPress, the_post_thumbnail fonksiyonu atlatmıştır.

Kaynaklar
1.http://codex.wordpress.org/Function_Reference/the_post_thumbnail
2.http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail
3.http://codex.wordpress.org/Function_Reference/wp_get_attachment_thumb_url
4.http://codex.wordpress.org/Function_Reference/get_post_thumbnail_id



  • Kodu eklediğim zaman ilk kısmları okumuyor direk olarak resim yoksa olarak ayarlanan adobewordpress’in resmini çekiyor. Kodlar denendimi? yoksa ben mi yanlı yapıyorum

    • 6 ay kadar sonra cevap veriyorum ama konuyu geçtiğimiz günlerde güncellemiştim. Bilginize.

  • blackMagic

    Hocam süper çalışıyor…
    Teşekkürler

  • Yılmaz Yüce

    hocam functions.php ye fonksiyonu ekledim ama yazıdaki ilk resmi çekmedi halen..