WordPressで年齢を自動更新する仕組みがおもしろくて実装してみた。

2021年07月05日 12時00分 正午の月齢:25.1  月名:二十六夜  潮汐:若潮 月齢:25.1[二十六夜] 潮汐:若潮
3年前に投稿 | WordPress | コメントはありません

2分ぐらいで読めます。

別にブログに実年齢を載せる必要もないんですけど、書き手の真実味がちょっと上がるかななんて考えて、年齢を自動更新して表示してみました。

参考にしたのは、「ブログで年齢を自動更新する方法|簡単2STEP」です。

そんなにゴリゴリの仕組みではないので、隠し味としては最適。ではfunctions.phpに記述する内容をまるっと引用しますね。

/**
* 年齢を自動更新して表示するショートコード
* ?
*
* 属性値の詳細
* birth:誕生日 yyyymmdd
*/
add_shortcode( 'age', 'auto_update_age' );
function auto_update_age( $atts, $content = null ) {
$atts = shortcode_atts(
array(
'birth' => '',
),
$atts
);
$birth = intval( $atts['birth'] );
if ( $birth > 0 ) {
return (int) ( ( date( 'Ymd' ) - $birth ) / 10000 );
} else {
return '?';
}
}

それから

記事に貼り付けるコードはこちら↓↓↓

年齢:36歳
カッコ内の8桁の数字に誕生日を当てはめます。

※数字は必ず八桁にして下さい。

例)1980年3月3日が誕生日の場合は、19800303となります。

ということで、任意の場所に生年月日を含めたショートコード([age birth="19880313"])を記述すると、リアルタイムな年齢が表示されるってわけですね。

「どうやって年数をカウントしているのかな。うるう年とか計算がややこしいからな。」と思っていたのですが、「( ( date( 'Ymd' ) - $birth ) / 10000 )」の部分を見て、しばらく考えて…めっちゃ納得しました。日付をyyyymmddの8桁の数字と考えて単純に引き算し、10000で割ると整数部分はシンプルに年齢になるんですねー。

コメントはありません

ごめんなさい、コメントフォームは閉鎖しています。

Translate »