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


ピックアップ記事

【無料】IPから国番号、組織情報、位置情報などを取得可能なサービス

2022年10月26日 php
使い方 ip2location.io 使い方は簡単で、上記サイトに無料アカウント登録し、API KEYを取得します。 API KEYと情報を取得したいIPをパラメータに設定して、 以下のURLにアクセスすれば、情報が取得できます。 [php]https://api.ip2location.io/?ip=218.42.223.17&key=【API KEY】&ip=【IP】…
「【無料】IPから国番号、組織情報、位置情報などを取得可能なサービス」をはてなブックマークに追加

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

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

wordpress 現在のuser_idやdisplay_nameを取得

2020年01月14日 WordPress
現在のuser_idを取得 [php] $user_id = get_current_user_id();[/php] 現在のdisplay_nameを取得 [php]$user = wp_get_current_user(); $display_name = $user->display_name;[/php]
「wordpress 現在のuser_idやdisplay_nameを取得」をはてなブックマークに追加

PHP IE6かどうかユーザーエージェントを調べる

2011年06月17日 php
IE6のシェアが低くなってきているので、いまさら感はありますが、それでもIE6を完全無視出来ない場合があるので、メモしておきます。 PHPでユーザーエージェントを見分けて、IE6とそれ以外を切り分ける時に使えると思います。 …
「PHP IE6かどうかユーザーエージェントを調べる」をはてなブックマークに追加

twitter API v1.1を使ってツイート投稿

2014年08月01日 web関連phptwitter API
twitterのAPIを利用してツイートする必要があったので、メモ。 準備 まず、twitterのdevサイトでapp登録しておきます。 次に、ツイートする際に必要なOAuthという認証作業を簡単にしてくれるOAuthライブラリtwitteroauthをダウンロードします。リンク先に飛んだら右下の方にDownload ZIPというボタンがあるのでそこからダウンロード出来ます。 …
「twitter API v1.1を使ってツイート投稿」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy