WordPressで投稿日を令和・平成などの元号を使った和暦表記にする

ブログ記事の投稿日は「2019年1月1日」「2019/01/01」のように西暦表記にするのが一般的ですが、ブログの内容・雰囲気によっては令和や平成などの元号を使った和暦表記にしたいというニーズもあると思います。

そこでWordPressの投稿日を西暦表記から和暦表記に置き換える簡易的なユーザー定義関数を作ってみました。対応する元号は令和・平成・昭和とし、元号が変わった最初の年を「元年」にしています。どこからでも呼び出せるようにfunctions.phpに追加します。

functions.php
function custom_date(){
	$date = get_the_time('Ymd');
	$y    = get_the_time('Y');
	$m    = get_the_time('n');
	$d    = get_the_time('j');

	//昭和
	if($date < 19890108){
		if($y == 1926){
			echo "昭和元年";
		}
		else{
			echo "昭和" . ( $y - 1925 ) . "年";
		}
	}

	//平成
	elseif($date < 20190501){
		if($y == 1989){
			echo "平成元年";
		}
		else{
			echo "平成" . ( $y - 1988 ) . "年";
		}
	}

	//令和
	else{
		if($y == 2019){
			echo "令和元年";
		}
		else{
			echo "令和" . ( $y - 2018 ) . "年";
		}
	}

	echo $m . "月" . $d ."日";
}

昭和より前の元号にも対応するには同じルールで条件文を追加していけばOKです。参考までに令和から明治までの元号が変わった年月日を掲載しておきます。

令和 : 2019年05月01日
平成 : 1989年01月08日
昭和 : 1926年12月25日
大正 : 1912年07月30日
明治 : 1868年01月25日

表示方法

category.phpやsingle.phpなど、該当するテンプレート内の「the_time()」の部分を「custom_date()」に置き換えます。

テンプレート
custom_date();

最終更新日を和暦表記にする

投稿日ではなく最終更新日を和暦表記にしたい場合は、「get_the_time()」を「get_the_modified_date()」に置き換えればOKです。

functions.php
$date = get_the_modified_date('Ymd');
$y    = get_the_modified_date('Y');
$m    = get_the_modified_date('n');
$d    = get_the_modified_date('j');
最終更新日:2019/07/05