2013年01月16日 /  WordPress  

【WordPress】西暦から和暦変換

新年が明け2週間が経ちました。
今年は正月から体調を崩してやっと復帰し、今年がいよいよ始まったと思う今日この頃です。

 

さて正月が明けて今年は2013年ですが、和暦で言えば平成25年です。
wordpressのブログなどでは西暦での日付が多いですが、ここは一つ和暦表示をしてみようかと考えてみました。

 

【準備】

1.下記のコードをfunctions.phpに追加してください。


function calendar_wareki($ymd) {
    list($y,$m,$d) = explode("/",$ymd);
	$yyyymmdd =  str_replace( "/", "", $ymd );
	$flg = 0;

	// Calendar.txt から和暦年号・名称を取得
	// Calendar.txtは、テーマの中にある
	$fp = fopen(dirname(__FILE__).'/Calendar.txt', 'r');

	while (!feof($fp)) {
		$line = fgets($fp);
		$calender = explode(',',$line);

		// Calendar.txt中身
		// 暦開始日,暦終了日,和暦名
		$txt_calender = array("NewYear" => $calender[0],"LastYear" => $calender[1], "Name" => $calender[2]);

		if($txt_calender["LastYear"] != null && $flg == 0){
			if($yyyymmdd >= $txt_calender["NewYear"] && $yyyymmdd = $txt_calender["NewYear"] ){
				$yyyy = substr( $txt_calender["NewYear"], 0, 4 ) - 1;
				$yy = $y - $yyyy;
				$wareki = "{$txt_calender["Name"]}{$yy}.{$m}.{$d}";
				$flg = 1;

				echo $wareki;
			}
		}
	}
	fclose($fp);
}

 

2.テキストファイル(Calendar.txt)を作成します。

 

3.Calendar.txtに以下の内容を追加(今回は昭和と平成だけ入力します)
※暦開始日,暦終了日,表示する和暦名  の順で入力しています。


19261225,19890107,S
19890108,,H

 

4.使用しているテーマの中に「Calendar.txt」をアップロードします。
これで準備完了です!

 

【使用方法】

1.下記コードを和暦変換したい場所に追加します。
日付入力は、「YYYY/MM/DD」にします。


calendar_wareki("2012/01/12");

 

今後改元を考慮してテキストファイルにデータを追加する方法で作成しています。
もう少し改良を加えてプラグイン化し、Wordpress管理画面で改元の変更などできるようにすると便利性が上がるかもしれませんね。