• 日付を和暦で表示させるために
    functions.phpに

    ————————————————–*/
    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 <= “19120729”) {
    $gg = “明治”;
    $yy = $y – 1867;
    } elseif ($ymd >= “19120730” && $ymd <= “19261224”) {
    $gg = “大正”;
    $yy = $y – 1911;
    } elseif ($ymd >= “19261225” && $ymd <= “19890107”) {
    $gg = “昭和”;
    $yy = $y – 1925;
    } elseif ($ymd >= “19890108”) {
    $gg = “平成”;
    $yy = $y – 1988;
    }
    $wareki = “{$gg}{$yy}年{$m}月{$d}日”;
    return $wareki;
    }

    /*————————————————–

    を記入して

    実際のページに

    <?php echo wareki(get_the_date()); ?>

    を記入すると

    和暦の年は表示されるのですが
    その後の月日付が表示されません。

    こういった場面に出くわした方はいらっしゃいますでしょうか。

    ちなみに和暦表示ではなく

    <?php echo (get_the_date()); ?>

    を記入すると日付まで表示されます。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • モデレーター jim912

    (@jim912)

    list($y,$m,$d) = explode("/",$ymd);

    となっていて、スラッシュ区切りでのフォーマットを前提としているので、warekiに渡す形式も
    これに合わせる必要があります。
    get_the_dateの返値は、形式を指定しないと、管理画面の日付のフォーマットに従うため、明示的にフォーマットを指定するか、管理画面の日付のフォーマットを修正すれば、月日が表示されるようになるはずです。

    トピック投稿者 yama21

    (@yama21)

    jim912様

    ご回答ありがとうございます。

    では

    list($y,$m,$d) = explode("/",$ymd);

    を修正すればよろしいということでしょうか。

    モデレーター gatespace

    (@gatespace)

    get_the_dateの返値は、形式を指定しないと、管理画面の日付のフォーマットに従うため、明示的にフォーマットを指定するか、管理画面の日付のフォーマットを修正すれば、月日が表示されるようになるはずです。

    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_the_date

    こんにちは、

    WEB上で公開されているコードを使う場合には、そのコードがどのような場合でも適切に動作するとは限りません。

    この関数は、管理パネルの 一般設定で 日付のフォーマットが、カスタム Y/m/d と設定されている場合、

    <?php
    $my_date = get_the_date();
    wareki($my_date);
    ?>

    または、

    <?php
    $my_date = get_the_date( 'Y/m/d' );
    wareki($my_date);
    ?>

    となっていないと動作しないものです。

    なので、コピペする場合は、コードの意味をよく調べてから動作確認するようにしたほうがいいです。

    もし、PHPが苦手な場合は、参照元なども書いておいたほうがいいです。回答してくれる人は、大抵本人が書いたコードだと思って回答します。

    トピック投稿者 yama21

    (@yama21)

    getespace様
    ご回答ありがとうございます。

    get_the_dateの返値は、形式を指定せずに
    管理設定で行えば、その設定で表示されるということでよろしいでしょうか。

    行ってみたいとおもいます。

    モデレーター gatespace

    (@gatespace)

    nobita さんが書かれてますけど、
    $my_date = get_the_date( 'Y/m/d' );
    の方が良いんじゃないですかね。
    ダッシュボードから替える事も出来ますが、普通にテーマで日付使ってるようなところにも影響でますし。

    トピック投稿者 yama21

    (@yama21)

    nobita様
    getspace様

    ご回答ありがとうございます。
    試してみてまた報告させていただきます。

    トピック投稿者 yama21

    (@yama21)

    Fatal error: Call to undefined function wareki() in C:\xampp\htdocs925\ir\index.php on line 128

    と表示されてしまいました。

    ・管理画面の一般設定をなおし
    <?php
    $my_date = get_the_date( ‘Y/m/d’ );
    wareki($my_date);
    ?>
    と書きました。

    <?php echo (get_the_date()); ?>

    を書くとエラー表示が消えるといった具合です。

    モデレーター jim912

    (@jim912)

    横から失礼します。
    こちらの記事のおかげで同じ疑問を解決できたと思います。
    ありがとうございました。

    下記コードで思うように表示できました。

    <?php
        $my_date = get_the_date( 'Y/m/d' );
         echo wareki($my_date);
    ?>
10件の返信を表示中 - 1 - 10件目 (全10件中)
  • トピック「和暦と日付」には新たに返信することはできません。