1. TOP
  2. >技術メモ>
  3. 【WP】カスタムフィールドの年月日を置き換えて日付の差分を計算

【WP】カスタムフィールドの年月日を置き換えて日付の差分を計算

技術メモ, WordPress

2022/08/24
【WP】カスタムフィールドの年月日を置き換えて日付の差分を計算

ブログなどで「この記事は○年前の内容です」など表示されるのを見かけたことはありませんか?
技術や情報系の記事では、最新の情報では無いと現在では役に立たないこともあるので、閲覧者視点で考えた場合表示させると親切で良いですね。

ワードプレスでは、 human_time_diff()を使用して表示させることができます。

<?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . '前に公開されました。'; ?>

最終更新日での表示はこんな感じです。

<?php echo human_time_diff( get_the_modified_time('U'), current_time('timestamp') ).'前にリライトしています。'; ?>

最終更新日があった場合のみ表示させるなら、このような形でできます。

<?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . '前に公開されました。'; ?><br>
<?php if (get_the_modified_time('Y/m/d') != get_the_time('Y/m/d')) : ?>
<?php echo human_time_diff( get_the_modified_time('U'), current_time('timestamp') ).'前にリライトしています。'; ?>
<?php endif; ?>

今回は、カスタムフィールドで日付を「2022年8月24日」などテキストで登録している場合でも
日付の差分を求める方法をご紹介します。

まずは、str_replaceで、年月日を置き換えましょう。

$event_date = get_post_meta($post->ID , 'カスタムフィールドの値' ,true);
$event_date = str_replace('日', '', $event_date);
$event_date = str_replace('年', '-', $event_date);
$event_date = str_replace('月', '-', $event_date);

変更したら本日の日付を取得し日付の差分を計算します。

<?php
$event_date = get_post_meta($post->ID , 'カスタムフィールドの値' ,true);
$event_date = str_replace('日', '', $event_date);
$event_date = str_replace('年', '-', $event_date);
$event_date = str_replace('月', '-', $event_date);

$datetime1 = new DateTime(date('Y-m-d'));
$datetime2 = new DateTime(date($event_date));
$interval = $datetime1->diff($datetime2);
echo $interval->format('%y年前発売');
?>

例では、本日の日付から○年前って感じで表示させます。
「%a」で総日数を表示などいくつかオプションがあるので、表示させたい内容に変えてみてください。

ホームページ制作ならRU DESIGN
「スタードメイン」は、年額100円からの独自ドメイン+無料サーバーも付いてきます。
WordPressも使えるので、練習も兼ねてお手軽にサイト運営ができちゃいます。


ドメイン取得は同じところで取得しておくと便利ですよ。
お名前.comは1円から購入(1年間)できるドメインがあるので、いろいろと便利で経済的です。

関連記事

古いMacに「ChromeOS 」をインストールして利用
2023/10/08
 Googleが提供しているChrome OS(クローム・オーエス)は、Linuxをベースとしたオペレーティングシステム(OS)の1つ。その中でPCやMACでも...
公式サポートが終了した古いMacに最新のmacOSをインストールするプロジェクト
2023/10/07
 古いMacに最新のmacOSをインストールするプロジェクト「OpenCore Legacy Patcher」(OCLP)は、Appleが提供する最新のmacO...
【WordPress】古い投稿を現在の日付で再投稿してくれるプラグイン「Republish Old Posts」
2023/08/31
注意:パーマリンクに日付が含まれている場合は、このプラグインを使用しないでください。SEOプラグイン「All in One SEO」との相性もよくないそうです。...
Crayon Syntax Highlighterの代替プラグイン「Enlighter」
2023/06/05
 ソースコードをきれいに表示させるのに役立っていた「Crayon Syntax Highlighter」ですが、更新も止まったままの状態で再開の目処はなさそうで...
WordPressの文字列を一括変換する便利なプラグイン「Search Regex」
2023/05/26
 WordPressのサイト内の文字列を一括置換・一括変換するのに便利なプラグインをご紹介します。ドメインを変更した場合だったり、「WordPress」を「ワー...