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


ピックアップ記事

現在のURLを取得し、エンコードして、facebook いいね 、mixi いいね に渡す

2011年07月25日 php
facebook いいね 、mixi いいね を利用する際に渡すURLはエンコードしたものしかダメなので、現在のURLを取得し、それをurlencodeしてからfacebookやmixiのいいねボタンに設定します。 …
「現在のURLを取得し、エンコードして、facebook いいね 、mixi いいね に渡す」をはてなブックマークに追加

advanced custom fieldの値を更新

2020年02月10日 WordPress
[php] update_field( 'フィールド名', '値', $post_id );[/php] 参考 : https://developers.wano.co.jp/1373/
「advanced custom fieldの値を更新」をはてなブックマークに追加

WordPress archive.phpで記事数を設定する

2011年06月24日 WordPressphp
WordPress をカスタマイズしていると、トップページでは○件、アーカイブは○件など、表示する記事件数を変えたい事があよくあります。そういう場合の対処法です。 今回は、テーマ内のarchive.phpを修正する事で対応します。 …
「WordPress archive.phpで記事数を設定する」をはてなブックマークに追加

PHP で 配列をGET送信する

2012年02月02日 php
http_build_query PHPで配列をGET送信するには、「http_build_query」を使って、URLエンコードされたクエリ文字列を生成します。 サンプルコード [php]<?php $data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor…
「PHP で 配列をGET送信する」をはてなブックマークに追加

未解決 twitter関連のOAuth認証が通らない 

2011年05月27日 WordPress
WP to Twitterなど、twitter関連のOAuth認証が通らない 原因は不明だけど、サーバのcURLやら外部向けのHTTPS通信が許可されてないやら、その辺っぽい。 ちなみに現在使っているのは、お名前.comの共用サーバです。 VPSの方も契約してるんで、そっちに移行した方が早いかも。 http://bono.s201.xrea.com/pib/wpm/?p=32 twitt…
「未解決 twitter関連のOAuth認証が通らない 」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy