多言語対応サイトを制作していると、日付を英語表記にしたいケースがあります。
今回は多言語対応プラグイン「WPML」を使って、英語と日本語、そしてそれ以外の言語での日付表記を切り替える方法についてご紹介します。
WordPressの日付表記を日本語と英語で切り替える方法
早速ですが、ソースコードから。
日付が2021年9月3日なら日本語では「2021年9月3日」、英語では「03.09.2021」、その他の言語では「2021.09.03」と表示します。
<?php if(ICL_LANGUAGE_CODE == 'ja'): //日本語の場合 ?>
<?php echo get_the_date('Y年m月d日'); ?>
<?php elseif(ICL_LANGUAGE_CODE == 'en'): //英語の場合 ?>
<?php echo get_the_date('m.d.Y'); ?>
<?php else: //その他の言語 ?>
<?php echo get_the_date('Y.m.d'); ?>
<?php endif; ?>
Wikipediaによると日付の世界標準規格YYYY-MM-DD方式だそうなので、その他の言語ではそれに倣っています。
日付の世界標準規格は、ISO 8601の”Data elements and interchange formats — Information interchange — Representation of dates and times”(JISCによる仮訳:「データ要素及び交換書式-情報交換-日付及び時間の表現」[3]である。
ISO 8601(1988年)では、”YYYY-MM-DD”方式(年・月・日の順番で、紀年法による西暦(CE)で年を数字4桁、月と日とを各々数字2桁で表す方式[4])と定められている[5]。
WPMLで言語ごとに条件分岐する方法は、以下のページでご紹介しています。
日付表記にはイギリス式とアメリカ式がある
英語での日付表記には、イギリス式とアメリカ式で違いがあります。
- イギリス
- 03.09.2021
- 3rd September 2021
イギリス式の場合は「日→月→年」の順番で表記します。
- アメリカ
- 09.03.2021
- September 3rd, 2021
アメリカ式の場合は「月→日→年」の順番で表記します。
get_the_date()の記述例
WordPressで日付を出力するには、get_the_date()関数を使います。
いくつか記述例をご紹介しますので、デザインに合わせてアレンジしてみてください。
- 2021年09月03日 金曜日
<?php echo get_the_date('Y.m.d l'); ?>
月が一桁の場合に先頭に「0」をつけるなら「m」、日の先頭に「0」をつけるなら「d」と書きます。
「l(小文字のL)」と書くと曜日が表示されます。
- 2021年9月3日(金)
<?php echo get_the_date('Y.n.j(D)'); ?>
月が一桁の場合に先頭に「0」をつけないなら「n」、日の先頭に「0」をつけないなら「j」です。
「D」と書くと曜日が省略形(月、火、水、…)で表示されます。
- Friday, September 9th, 2021
<?php echo get_the_date('l, F jS, Y'); ?>
「F」と書くと月が英語表記(January, February, March,…)になります。
日を「1st, 2nd, 3rd,…」のように表記したいなら、jのあとに「S」をつけます。
- Fri, Sep 03, 2021
<?php echo get_the_date('D, M d, Y'); ?>
曜日を英語の省略形「Mon, Tue, wed,…」にしたいなら「D」と書きます。
日本語の省略系も同じく「D」ですが、自動で日英が切り替わります。
月を英語の省略形にしたいなら、「M」と書きます。