Модернизировать плагин Pepper Human Date

Доброго вермени суток. Помогите решить проблему, заключающуюся в следущем.

Необходимо, используя плагин Pepper Human Date, выводить по прошествию 3 дней не «количество дней назад», а дату целиков, типа д.м.г. Заранее спасибо!!!

brazhik
Оцените автора
Добавить комментарий

  1. tiaurus

    А что это за плагин такой? Ссылку предоставьте, пожалуйста.
    Да и модернизация плагина, наверное, не требуется. Нужно на php реализовать простейшее условие if-else:
    начало

    • если текущая дата минус дата поста больше 3 дней, то выводится дата штатными средствами
    • иначе — выводится дата с помощью плагин

    конец

    Ответить
    1. brazhik

      http://webpeppers.ru/102.html — отсюда взял плагин. А если проще то вот код, который там написан:

      
      <?php
      function pepper_date_format($t){
      	$post_time = get_the_time('U');
      	$now = current_time('timestamp');
      	
      
      	if( ($now-$post_time) < 86400 ){
      		return "<font color=red>Cегодня</font>";
      	}elseif( ($now-$post_time) < 172800 ){
      		return "<font color=blue>Вчера</font>";		
      	}elseif( ($now-$post_time) < 259200 ){
      		return "<font color=green>Позавчера</font>";			
      	}elseif( ($now-$post_time) < 31536000 ){
      		return human_time_diff($post_time, $now) . ' назад';		
      	}else{
      		$y = round(($now-$post_time)/31536000);
      		if($y==1){
      			return 'около года назад';
      		}else{
      			return 'около '.$y.' лет назад';
      		}
      	}
      }
      add_filter('the_date','pepper_date_format');
      add_filter('the_modified_date','pepper_date_format');
      add_filter('the_time','pepper_date_format');
      add_filter('the_modified_time','pepper_date_format');
      ?>
      

      к сожалению php не знаю, поэтому попросил помочь. Спасибо!

      Ответить
  2. brazhik

    Если можно подскажите, как цикл реализовать в этом коде

    Ответить
    1. tiaurus

      В приведенном коде уже все реализовано, просто в определенном месте нужно поменять. Например,

      return human_time_diff($post_time, $now) . ' назад';

      поменять на

      return the_date() . ' ';
      Ответить
      1. brazhik

        Это к сожалению не помогает, так как в конце фильтр стоит. Если поменять тогда совсем дата не отображается

        Ответить
  3. brazhik

    Все разобрался:

    Немного поменял:

    return the_date() . ' ';

    На:

     return get_the_date(). ' ';

    Благодарю за помощь!

    Ответить