2013年10月04日 WordPressphp

ブログの記事が古い場合に「この記事は古いから注意してね〜」みたいなお知らせが表示されるサイトをたまに見かけませんか?

このサイトも賞味期限切れの記事がありそうな気配がムンムンしてきたので、半年以上前の記事は古くなってますよ〜って表示しようと思い、調べてみました。

実装したコード

<?php
 
function day_diff($date1, $date2) {
 
    // 日付をUNIXタイムスタンプに変換
    $timestamp1 = strtotime($date1);
    $timestamp2 = strtotime($date2);
 
    // 何秒離れているかを計算
    $seconddiff = abs($timestamp2 - $timestamp1);
 
    // 日数に変換
    $daydiff = $seconddiff / (60 * 60 * 24);
 
    // 戻り値
    return $daydiff;
 
}

//本日の日付を取得
$today = date("Y-m-d");

//表示中の記事の投稿日取得
$posted = get_the_date('Y-m-d');
 
// 日付を関数に渡す
$day = day_diff($today, $posted);
 
?>

コード内に説明が入っているので、特に解説する必要もないかもですが、一応、説明すると、day_diff関数は、2つの日付を比較して、日数の差を返します。参考サイト様から、そのまま拝借しています。(・・;)

date関数と、WordPressのget_the_date関数は、本日の日付、記事の投稿日をそれぞれ取得しています。

2つの日付を先ほどのday_diff関数に渡します。$dayには、経過日数が入ります。

$day = day_diff($today, $posted);

あとは、$dayをお好みに判別して、カスタマイズしてみてください。 当サイトでは、$dayが180を超えてたら、大体半年は過ぎているということで、以下みたいな感じで使っています。

<?php
//180日を過ぎている場合
if($day > 180){ ?>
<p>閲覧中の記事は半年以上前の記事ですので、内容が古くなっている可能性がありますよ〜。</p>
<?php } ?>
参考サイト:http://raining.bear-life.com/php/指定した二つの日付の差を調べる方法

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

Twitter Bootstrapでスマホ回転時の表示崩れ

2013年11月13日 WordPressjQuery・javascript
Twitter Bootstrapを使用して、レスポンシブなウェブサイトを制作していたのですが、iPhoneで縦画面、横画面での表示を繰り返すと画面からはみ出してしまう(拡大表示した時のように画面内にサイトが収まっていない)現象に悩まされました。 もちろん、縦でも横でも画面横幅ピッタリにサイトが表示されるのが理想なので、調べてみました。 今回使用していたのは、Bootstrap v3.…
「Twitter Bootstrapでスマホ回転時の表示崩れ」をはてなブックマークに追加

PHPでGET送信かPOST送信かを判別する方法

2012年02月02日 php
$_SERVER["REQUEST_METHOD"] PHPでGET送信かPOST送信かを確認するには「$_SERVER["REQUEST_METHOD"]」を調べます。 使い方 [php] <?php //POST送信かどうか if($_SERVER["REQUEST_METHOD"] == "POST"){ echo "POST送信です…
「PHPでGET送信かPOST送信かを判別する方法」をはてなブックマークに追加

WordPress ソースコードを整形する SyntaxHighlighter

2011年05月27日 WordPress
SyntaxHighlighter Evolved を入れてみました。WordPress バージョン3.xx(調べるのメンドイ)ですが、ん~~すんなり動きませんでした。 デフォルトでは、コードを表示するにはしてくれるのですが、ソースをコピーなどのボタンが表示されない状態でした。 テンプレートの関係などあるのかなと思い、複数のテンプレートでも試しましたが、変化なしでした。 いろいろ調べました&…
「WordPress ソースコードを整形する SyntaxHighlighter」をはてなブックマークに追加

ZenCartのパンくずリストをトップページのみ非表示にする

2012年02月11日 zencartphp
変更する箇所 includes/classes/breadcrumb.php の60行目付近 [php] } else { $trail_string .= $this->_trail[$i]['title']; } [/php] 上記のコードを以下に変更します。 [php] } else { if ($this->…
「ZenCartのパンくずリストをトップページのみ非表示にする」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy