WordPressで年齢を自動的に計算して表示する

WordPressで年齢を自動的に計算して表示する方法を紹介します。

生年月日を指定してショートコードを呼び出したら、その日の年齢を表示します。

記事投稿から何年経っても、そのページを開いた日の年齢が自動的に算出されるので、一度セットすれば修正の必要がなく便利です。

※ WordPressテーマの修正に関する注意
WordPressのテーマを修正する際は、必ずバックアップを取り、テスト環境で十分に確認してから、本番環境に反映させてください。

functions.phpに追加するコード

//年齢を自動的に計算するショートコード
function get_age_func($day) {
  extract(shortcode_atts(array('day' => 'day'), $day));
  return (int) ((date_i18n('Ymd')-$day)/10000);
}
add_shortcode('birth', 'get_age_func');

コピーしました

ショートコードの呼び出し方

ショートコードの引数に生年月日を指定します。

私は[birth day="19900101"]歳です。

上記の実行結果はこのようになります。

私は34歳です。


Special Thanks

下記2サイトを参考にさせていただきました。

WordPressで年齢を生年月日から自動計算して表示する方法 | アフィカツ|共働きイクメンパパのブログで脱サラ物語

WordPressで日時を扱うときはdate_i18nを使うべし – date関数の罠 – | コワーキングスペース7F

ありがとうございました。

関連記事

コメント

  1. ああ より:

    ショートコードコピペしましたがエラーが出ましたのでご報告します。
    参考にされたアフィカツさんの記事のコードは問題なかったです。

    1. マネージャー より:

      ご指摘をありがとうございました!

      wordpress5.3では、date_i18n()関数が非推奨になったんですね。

      date()関数だとタイムゾーンによって時間がずれる問題は、date_i18n()関数に代わって wp_date()関数で回避できるようです。

      現状date_i18n()も更新されているようですが、処理速度もwp_date()の方が早いようなのでこちらに移行していきます。

      ありがとうございました。

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

error: Content is protected !!