Ana Sayfa » »
Tem
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

Bu yazımı beğendiyseniz, bu kategoride yer alan Kullanılmayan Kısakodları (Shortcode) Gizlemek başlıklı fonksiyon, functions.php ve shortcode konularında bilgi veren bir önceki yazımı da okumanızı tavsiye ederim.

Yazıya 3 Yorum Yapıldı+ Yorum Ekle

  • 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

Yorumunu Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yukarı Çık