80年代へようこそ!

Welcome back to the 80s!

80年代へようこそ! Welcome back to the 80s!

WP 投稿の日付を元号表記に

  |日曜日

投稿の日付を元号表記に

当サイトは、1980年代をテーマにしており、コンテンツの内容から日付の表示を元号、和暦で表示したいと考えていました。「wordpress 投稿日 元号表記」「投稿 和暦」などで検索すると、参考になるサイトがいくつか見つかります。需要が少ないのか、それほど多くはないのですが、丁寧にソースコードが紹介されています。しかしながら、作成者が実際の運用をイメージしていないために、致命的な欠点があります。いくつか参考になりそうなサイトを拝見し、使えそうなコードを拾ってきたのですが、それだけでは使い物になりませんでした。

例えば、1989年01月08日を和暦表示にすると、こうなります。

(1)平成01年01月08日

各サイトで紹介されているソースコードをそのまま利用するとほとんどの場合、上記のようになります。機械的な処理のため、実は、とても不自然な表記となっています。繰り返しますが、実際の利用を想定していないのでしょう。

「平成01年」という表記はどう見ても不自然です。

(2)平成元年1月8日

日付の表記──本来の日本語の表記としては、こちらの方がしっくりくるはずです。音読してみれば分かることなのですが、もしテキスト読み上げブラウザをなどを使用していたら試してみてください。

上記(1)のパターンだと、「へいせいぜろいちねんぜろいちがつぜろいちにち」と読み上げるはずです。上記(2)の場合は、「へいせいがんねんいちがつはちにち」、賢い読み上げブラウザなら「へいせいがんねんいちがつようか」と読んでくれるかもしれません。

日本語的には──「日本語的には」という表現も間違っているかもしれませんが──日本語的には、「平成1年」という表記は間違いです。「平成元年」が正しい表記です。

また、一桁数字の前には「0」付けたくないので、その点も考慮し、各サイトから拝借したコードを利用、試行錯誤の結果、下記に辿り着きました。

//和暦の表示

function wareki($ymd)
{
list($y,$m,$d) = explode(“/”,$ymd);
$m = str_pad($m,2,0,STR_PAD_LEFT);
$d = str_pad($d,2,0,STR_PAD_LEFT);

$ymd = $y.$m.$d;
if ($ymd >= “19261225” && $ymd <= "19890107") { $gg = "昭和"; $yy = $y - 1925; } elseif ($ymd >= “19890108” && $ymd <= "19900000") { $gg = "平成"; $yy = "元"; } elseif ($ymd >= “19890108”) {
$gg = “平成”;
$yy = $y – 1988;
}

$wareki = “{$gg}{$yy}年”;
return $wareki;
}

これを、利用中のテーマのfunctions.phpに追加します。そして、Wordpressメニューの設定、一般設定にて、日付フォーマットをカスタム「Y/m/d」とします。和暦を表示したいテンプレートに下記のコードを挿入します。

これで、投稿日の表記が和暦になります。1989年は1月7日までが昭和64年、1月8日から12月31日までは、1990年は平成2年と表記されます。

実際にこれを実装テストしたのは、2015年3月4日、Wordpress 4.1.1–jaにて動作確認しております。

cypher

  最終更新日 :

 - WebTips

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
MT4.21 カスタマイズメモ(4)

最近のコメントの不具合についていろいろと検索してみ …

no image
ランダムに選択したブログ記事を表示する

ランダムに選択したブログ記事を表示するプラグイン。 …

no image
ソースコードを見やすく表示する「SyntaxHighlighter」

ソースコードを見やすく表示する「SyntaxHig …

no image
パンくずリストの設置について

MTにパンくずリストを設置する方法について記載しています。

no image
MT4.21 カスタマイズメモ(5)

MT管理画面からイメージファイルをアップロードする …

no image
スタイルシートのカスタマイズ

まずは、テンプレートの確認。プロフェッショナル ウ …

no image
ファイル名に「_」アンダースコアを使えるようにする

ウェブページのファイル名に「_」アンダースコアを使 …

no image
メインページなどのカスタマイズ

モジュールテンプレートのヘッダーにて、下記を削除。 …

WordPressのロゴ
MTからWPへ、サイトの移行

Google様からメールが来た。 サイトの運営をし …

no image
MT4.21をサーバーにインストール

もう何度目か分からないけど、サーバーにMovabl …