3
2013
Eski Yazılar İçin Uyarı Mesajı Gösterme
Sitelerimizle paylaştığımız bilgiler bir sür sonra güncelliğini yitirebiliyor. Örneğin WordPress kodlarının paylaşıldığı bir siteniz varsa, eski yazılarınızdaki kodlar artık çalışmıyor olabilir. Özellikle arama motorlarından gelen ziyaretçiler bazen yazı tarihlerine dikkat etmeyebiliyorlar. Kodlar çalışmayınca da atarlanabiliyorlar.
Bu durumlarda yapılması gereken en uygun yöntem, örneğin 1 yıl öncesinde yazdığınız yazılarınızın üst bölümüne, yazının eski bir tarihte yazıldığını, güncel olamayabileceğini söyleyen bir uyarı mesajı görüntülemek diye düşünüyorum. Bunun için iki yöntem kullanabiliriz.
Birinci Yöntem
Aşağıdaki kodu temanızın single.php dosyasında, mesajın nerede görüntülenmesini istiyorsanız oraya ekleyin. Kod içerisindeki mesajı kendinize göre düzenleyebilirsiniz.
<?php if ( floor(( time()-get_the_time('U'))/86400) > 365) { ?> //Yazı bir yıl önce yazılmışsa <div class="eski-yazi-uyarisi"> <strong>Bu yazı <?php the_time('d.m.Y'); ?> tarihinde yayınlanmıştır.</strong> Yazı içerisinde bulunan bilgiler artık geçersiz olabilir. Lütfen bu hususa dikkat ediniz. </div> <?php } ?>
İkinci Yöntem
Bu yöntemde ise yine functions.php dosyasını kullanacağız. Aşağıdaki kodu functions.php dosyasına uygun şekilde ekleyiniz.
<?php function yakuphoca_eski_yazi_uyarisi($content) { if ( is_single() && floor(( time()-get_the_time('U'))/86400) > 365) { $content = ' <div class="eski-yazi-uyarisi"> <strong>Bu yazı '. the_time('d.m.Y').' tarihinde yayınlanmıştır.</strong> Yazı içerisinde bulunan bilgiler artık geçersiz olabilir. Lütfen bu hususa dikkat ediniz. </div> '.$content; }; return $content; } add_filter( 'the_content', 'yakuphoca_eski_yazi_uyarisi' ); ?>
Son Olarak Biçimlendiriyoruz
Mesaj bu haliyle dikkat çekmeyecektir. Ufak bir CSS kodunu temanızın styles.css dosyasına ekleyerek, mesajı daha etkili hale getirebilirsiniz. Koddaki renkleri ve diğer biçimlendirmeleri, kendi sitenize göre ayarlamayı unutmayın.
.eski-yazi-uyarisi { border: 1px solid #B4D5FE; background: #F4F7FF; color: #333; padding: 5px 8px; overflow: hidden; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
Artık ziyaretçilerimizi bilgilendirmiş olduk, gerisi onlara kalmış.
Thanks Paulund
Eğer süreyi üç ay yapmak istersek;
if( (date('M') - get_the_time('M') ) > 3 ) { ?> mü yapmalıyız???
Bir de sadece yıl üzerinden hesaplama yapıyorsa sanki 31 Aralık'ta yazılan yazı için 1 Ocak'ta eski diyecektir gibi düşünüyorum.
Not : Konuya ve kodlara vakıf değilim ancak yazılanları yorumlamaya çalışıyorum. Yanlışım varsa affola.
Mehmet Bey,
Uyarınız için teşekkürler. Kodu güncelledim. Şu anki haliyle gün hesabı yapmaktadır. Kod içerisindeki 365 rakamı yerine 90 yazarsanız istediğiniz 3 aydan eski yazılar için mesaj görüntülenecektir.
İlginiz için tekrar teşekkürler.
^Cok tesekürler tam aradigim birseydi