Wordpress blogunuzun RSS kaynağına girdi görselleri eklemek

Dikkat: Bu yazının yazılma tarihinin üzerinden en az 60 gün geçmiş. İçerisindeki bilgiler güncelliğini yitirmiş olabilir. Yorumları ve güncellemeleri göz önünde bulundurarak yazıyı takip ediniz.
Wordpress'in ön tanımlı gelen temlarındaki rss kaynaklarında sadece girdi detayları bulunur. Eğer sayfalarınızda girdilerinizi listelerken görsel olarak girdinize eklenen birincil imajı kullanıyorsanız (bir çok tema bu şekilde girdi görseli tanımlaması yapmaktadır), rsslerinize girdilerin birincil görselini (varsa) eklemek oldukça kolay olacaktır.

Wordpress'in kanca mimarisi sayesinde tema klasörünüzdeki fonksiyon tanımlamaları yapılan dosyaya ekleyeceğiniz bir fonksiyonu, rss girdileri işlenirken çağırtabilirsiniz. Bu sayede rss çıktısında gösterilecek girdileri manipule ederek rss çıktılarına girdi görsellerini ekleyebiliriz.

Bunun için, tema klasörünüzde (muhtemelen var olan) functions.php'ye
function add_thumbnails_to_rss($content, $sec = false, $third = false, $fourth = false) {
    $post_id = get_the_ID();

    $args = array(
        'post_type'      => 'attachment',
        'post_mime_type' => 'image',
        'numberposts'    => 1,
        'post_parent'    => $post_id
    );
    $attachments = get_children($args);

    $attachment_code = "";
    if( $attachments ){
        foreach($attachments as $attachment){
            $attachment_code .= '<div class="thumbnail">'. wp_get_attachment_image( $attachment->ID, 'medium' ) .'</div>';
        }
    }

    // adding attachments to entry body
    return $attachment_code . $content;
}

add_filter('the_excerpt_rss', 'add_thumbnails_to_rss');
add_filter('the_content_rss', 'add_thumbnails_to_rss');
kodunu ekleyelim. Rss girdilerini manipule edecek bir fonksiyon tanımladıktan sonra iki rss'i oluşturan methodların kancalarını kullanarak tanımladığımız fonksiyonu çağırtıyoruz. Wordpress, fonksiyona, manipule edilecek girdiye ait bazı bilgileri parametre olarak gönderiyor. İlk parametre, işimize yarıyacak tek parametre aslında. Basitçe; girdiye ait eklentileri sorgulayıp eğer girdi görseli varsa, ilk parametreyle aldığımız girdi içeriğine html kodu olarak ekliyor ve fonksiyon cevabı olarak geri dönüyoruz. Wordpress gerisini hallediyor zaten.

Yukarıda kodun son 2 satırında gördüğünüz rss kaynakları, yorumlar ve girdilere ait rss'ler. İsterseniz sadece girdilere ait rss kaynağına (the_content_rss) thumbnail eklemeyi tercih edebilirsiniz.

Yorumlar

Üye Resmi Murat Ercelebi
28 Kasım Pazartesi ´16 12:58
Bilgi kirliliginin basini alip gittigi bir internet ortaminda bu denli emekle ozenle yazilmis bir blog yazisina rastlamak cok mutlu etti.

Paylasiminiz konuyla alakali arama yaptigimda tr dilinde neredeyse tek!

Basarilarinizin devamini dilerim.Acaba iletisim bilgilerimi paylassam bana bu konuda destek olabilirmisiniz.

Rss feedlerime iceriklerimin kapak gorsellerinin gorunmesi (featured image) yada facebook share de gorunecek sekilde open graph image olarak tanimlanmasi gerekiyor   :-(

Desteklerinizi bekliyorum.Tesekkurler..

Tesekkurler.
Yeni Yorum *
İletişim Bilgileri
*
*
E-Posta adresiniz gösterilmeyecektir.
(unut)
Güvenlik Kodu *

Gönderiliyor