Wordpress blogunuzun RSS kaynağına girdi görselleri eklemek
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 .= '
'. wp_get_attachment_image( $attachment->ID, 'medium' ) .'
';
}
}
// 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.
İlgili Yazılar
- 3 min readÖrneklerle PHP'de düzenli ifadeler
- 4 min readBir sitenin kod düzeni nasıl olmalı?
- 2 min readPHP ile Zaman Farkı Hesaplamak
- 2 min readPHPStorm: Bu Güne Kadarki En Eli Yüzü Düzgün PHP IDE'si
- 3 min readhtaccess ile özelleştirilmiş url yapılarıyla karşılaşacagınız medya ve çerez problemleri ve çözümü
- 7 min readGoogle Chart API Kullanarak Dinamik Grafikler Oluşturma Rehberi
Paylaş