手当たり次第に書くんだ

飽きっぽいのは本能

WordPress 現在からの経過日数を出力するショートコード

Overview

WordPress で、現在からの経過日数を出力するショートコードを作成してみました。

仕様

仕様は以下の通りです。

  1. 現在の日時を取得する。
  2. 引数から指定された日付を作成する。
  3. 現在の日時と引数の日付の差を計算する。
  4. 差から年数、月数、日数を取得する。
  5. 年数、月数、日数を表示用の変数に追加する。
  6. 出力を返する。

コード

コードは下記の通りです。

// 年月日計算表示ショートコード
function calcYmdFunc($attr) {
    // 現在の日時を取得
    $now = new DateTime();

    // 引数から日付を作成
    $ymd = DateTime::createFromFormat('Ymd', $attr[0]);

    // 現在の日時と引数の日付の差を計算
    $interval = $now->diff($ymd);

    // 年数、月数、日数を取得
    $years = $interval->y;
    $months = $interval->m;
    $days = $interval->d;

    // 出力用の変数を初期化
    $output = '';

    // 年数が0より大きい場合、年数を出力に追加
    if ($years > 0) {
        $output .= $years . '年';
    }

    // 月数が0より大きい場合、月数を出力に追加
    if ($months > 0) {
        $output .= $months . 'ヶ月';
    }

    // 日数が0より大きい場合、日数を出力に追加
    if ($days > 0) {
        $output .= $days . '日';
    }

    // 出力を返す
    return $output;
}

// ショートコード 'calc_ymd' を登録
add_shortcode('calc_ymd', 'calcYmdFunc');

利用方法

例えば、下記のように引数に YYYYMMDD の形式で日付を入力して投稿を作成すると、「44年8ヶ月19日」のように表示されます。

[calc_ymd 19800101]

WordPress 現在からの経過日数を出力するショートコード

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る