• 23-03-2017, 10:39:14
    #1
    Kullandığım tema "x gün önce" ve 1 Ocak 2017 gibi tarih formatlarını destekliyor. Yani ek olarak desteklemesi için bir şey yapmama gerek yok.

    Fakat yapmak istediğim bir yazı yayınlandıktan sonra 0-24 saat arasında, x saat önce yazması, 24 saatten sonrasındaysa tarihi yazdırmak.

    Nasıl yapabileceğim konusunda bilgi sahibi olan var mı?
  • 23-03-2017, 10:42:45
    #2
    İstediğiniz buradaki mi?
    http://www.erbilen.net/x-zaman-once-yazildi-fonksiyonu/
  • 23-03-2017, 10:45:31
    #3
    Tema üzerinde bu var. Benim istediğim bir makalenin üzerinden 24 saat geçtikten sonra d-m-y şeklinde yazması. 24 saat geçmeden öncesindeyse "x saat önce" kalıcı olacak.
  • 23-03-2017, 11:21:23
    #4
    Ücretli olarak yardımcı olabilirim.
  • 23-03-2017, 21:02:35
    #6
    Eklenti kurmak istemiyodum. Fakat teşekkürler, artık kodları alır kendi functions dosyama ekleyerek hallederim.

    //Araştırıp sonunda buldum. Eklentiyi kurmadan halletim yapmam gerekeni.

    Arayan arkadaşlar için yardımcı olması amacıyla buraya bırakıyorum.

    ##################TARİH#################
    
    #####TR Karakter Sorunu #####
    setlocale(LC_TIME, "turkish");
    function strftime_tr($date_format){
        $tarih    = iconv('latin5','utf-8',strftime($date_format)); 
        return $tarih; 
    }
    #####/TR KARAKTER SORUNU #####
        define( TIMEBEFORE_NOW,         'Şimdi' );
        define( TIMEBEFORE_MINUTE,      '{num} dakika önce' );
        define( TIMEBEFORE_MINUTES,     '{num} dakika önce' );
        define( TIMEBEFORE_HOUR,        '{num} saat önce' );
        define( TIMEBEFORE_HOURS,       '{num} saat önce' );
        define( TIMEBEFORE_FORMAT,      '%e %B' );
        define( TIMEBEFORE_FORMAT_YEAR, '%e %B %Y' );
    
        function time_ago( $time )
        {
            $out    = ''; // what we will print out
            $now    = time(); // current time
            $diff   = $now - $time; // difference between the current and the provided dates
    
            if( $diff < 60 ) // it happened now
                return TIMEBEFORE_NOW;
    
            elseif( $diff < 3600 ) // it happened X minutes ago
                return str_replace( '{num}', ( $out = round( $diff / 60 ) ), $out == 1 ? TIMEBEFORE_MINUTE : TIMEBEFORE_MINUTES );
    
            elseif( $diff < 3600 * 24 ) // it happened X hours ago
                return str_replace( '{num}', ( $out = round( $diff / 3600 ) ), $out == 1 ? TIMEBEFORE_HOUR : TIMEBEFORE_HOURS );
            else // falling back on a usual date format as it happened later than yesterday
                return strftime_tr(strftime( date( 'Y', $time )) == date( 'Y' ) ? TIMEBEFORE_FORMAT : TIMEBEFORE_FORMAT_YEAR, $time );
        }
    ##################/TARİH#################
    Fonksiyonlara ekledikten sonra gözükmesini istediğiniz yerde

    <?php echo time_ago(get_the_time('U')) ?>
    Şeklinde kullanabilirsiniz. (Ücret talep etmiyorum. )

    #Kodda ufak bi yanlışlık olmuş, eğer kullanan varsa şuanki haliyle tekrar alsın.