Dün sizlerle Wordpress RSS beslemelerine öne çıkan görsel ekleme konusunu paylaşmıştım. Serinin bu bölümünde yine RSS üzerine değineceğim.
Wordpress siz içeriklerinizi yayınladığınızda hemen RSS beslemenizi günceller ve yeni içeriğinizi beslemeye ekler. RSS beslemeleri ile çalışan abonelik formları ya da RSS bildirim uygulamaları da gelen güncellemeyi hemen kullanıcıya ulaştırır.
Ancak bazen yayınladığımız içeriği hemen geri kaldırmak durumunda kaldığımız oluyordur. Ya da içeriğimizde bazı alanları güncellememiz gerektiğini yayınladıktan sonra fark etmiş olabiliriz.
Bir diğer önemli durum ise içerik hırsızlığı! Belki bu durumu sıkça yaşayanlar vardır aramızda. Ya da daha tadını almamış olabilirsiniz. Ancak emek verdiğiniz içerikleri sizin RSS beslemenizden çekerek sizden daha hızlı bir şekilde Google gibi arama motorlarında indexletmeyi başaran emek hırsızları için de bu bir nebze olsun çözüm sunacaktır.
Şimdi yapacağımız işlemin temel mantığı çok basit. Yazılarımızı yayınladığımızda hemen RSS beslemesine düşmesinin önüne geçeceğiz. Yeni içerikleri dilediğimiz kadar geç bir şekilde RSS beslemesine aktaracağız. Böylelikle hem yaptığımız hataları güncelleme şansımız olacak hem de içerik hırsızlarından önce yazdığımız yazıları arama motorlarının taramasına zaman tanıyacağız.
Hadi gelelim RSS geciktirmeyi nasıl yapacağımıza:
Aşağıdaki kodu aktif olarak kullandığımız temanın functions.php dosyasının sonuna yapıştırıyoruz ve istediğimiz düzenlemeleri yaptıktan sonra kaydediyoruz:
//RSS beslemelerini geciktirme kodu
function rss_beslemelerini_geciktir($where) {
global $wpdb;
if ( is_feed() ) {
// Wordpress formatında zaman damgası
$now = gmdate('Y-m-d H:i:s');
// Beklenecek süre (sayı olarak)
$wait = '10';
// Beklenecek zaman dilimi şunlardan birisi olabilir: MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
$device = 'MINUTE';
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'rss_beslemelerini_geciktir');
Hepsi bu kadar! Hepinize mutlu bloglamalar :)