OPEN

Blog20172017年以前の旧ブログ

2017.04.29

投稿の期間を見て自動処理

ダーシノ ダーシノ Other Blog

wordpressの投稿では、「指定した期間の投稿を表示する方法」だったり、「一定期間で非公開にする方法」といった感じで期間によって色々と制御ができます。

その中で今回は期間の処理として一番使われるのではないかと思われる、
投稿から一定期間、ラベルを表示
について記載します。

実際よく使ってるんですが、毎回使い方忘れてしまう事が多くて...

PHPコード

<?php
  $days = 10;
  $today = date('U');
  $date = get_the_time('U');
  $period = date('U', ($today - $date)) / 86400;
?>
<?php
  if ($days > $period) {
    echo '新着情報';
  }
?>

上記が一番簡単かと思いよく使ってます。
$day = 10;
の数字が表示期間の日設定です。

後は、期間中に表示したい処理をecho '新着情報' の箇所にするだけです。

使いたい箇所にそのまま記載すれば機能します。

5行目の86400は1日の秒数です。
(60秒×60分×24時間)

この記事書きながら...そういえばデータプロサイトにこの機能入れてないな。

次のリニューアルには忘れないようにしないと..

 

昔はfunctionにglobal変数で記載してたんですけど、推奨されてないようなのでこの方法に変更しました。

※以下は以前使ってた方法

function.phpへの記載

$TODAY = strtotime(date('Y-m-d'));
function check_new_post($date) {
  global $TODAY;
  $date = strtotime($date);
  $dayDiff = abs($TODAY - $date) / 86400; //(60 * 60 * 24)
  return ($dayDiff < 30); // 日数
}

phpファイルへの記載

<?php if(check_new_post( get_post_time('Y-m-d') )) {
  echo '<span class="new">NEW</span>';
}?>

検索したら色々方法でてきますが、備忘録としての紹介です。

TOP