wordpress運営で、「今日の日付」を表示したいときってないですか?
ちょっと、ハマってしまったというか、悩んだことがありましたので記事にしておきます。
google広告
一見、これでよさそうだけど。。。
「php 今日の日付」などで検索をかけると、date(“Y/m/d”)などと書いてありますので
<?php echo date("Y-m-d"); ?>
と書いてみます。ちょっと当サイトで、single.phpに書いて試してみると、
このように表示されて、確かに一見良さそうなんですが、
<?php echo date("Y-m-d H:i:s"); ?>
こう書き換えて表示させると
時間まで表示できますが、
パソコンの右下の時間を確認すると、ちょうど9時間遅れていることが分かります。ワードプレスの中では、こんな表示がルールのようです。
運営の仕方にもよるけど
9時間くらい気にしない!という運営もあると思います。記事が更新されて3日間は「new!」と表示してユーザーにアピールするなんて運営をしているときは問題なさそうですが、ワールドカップまで、あと何日!なんて運営している時は、ちょっと問題です。
第一感は9時間ずらすだった
管理人の第一感は、9時間ずらすことでした。つまり
<?php echo date("Y-m-d H:i:s" , strtotime("+9 hour")); ?>
・・・確かにこれでも正確に表示されるんですが、日付と時刻の書式 – WordPress Codex 日本語版を読むと、
日付をローカライズするには、date_i18n()/en 関数を使ってください。
とあります。そこで、WordPressでの現在日時取得はdate_i18n()を使う | UCWD-Studio.【ホームページ制作 / 京都】 こちらのサイトさんから教えていただきました。
<?php echo date_i18n("Y-m-d H:i:s");//現在時刻まで表示 ?> <?php echo date_i18n("Y-m-d");//今日の日付だけ表示 ?>
おそらく、これが正解だと思います。
追記 2014/6/5
もう少しメモしておきます
$today = date_i18n("Y-m-d");//今日の日付 $tomorrow = date( "Y-m-d",strtotime("$today +1 day"));//明日の日付 $dayaftertomorrow = date( "Y-m-d",strtotime("$today +2 day"));//あさっての日付 echo date("m月d日", strtotime("$tomorrow"));//明日の日付を○月○日と表示したいとき
functions.phpに日付計算式を書いて、ショートコードで返す場合
function today_date_keisan() { $today = date_i18n("Y-m-d"); return $today; } add_shortcode('today_date_hyouji','today_date_keisan');
このようにreturnを使わないと上手く表示できない。echoだとページのどこに表示されるか分からない
数回、福岡市内のアドセンスなどのセミナーでお会いしましたJunです。
Toshiさんのブログ等はよく拝見しています。
いつも良質な記事で大変参考にさせてもらっています。
さて、APIの記事ですが、非常に興味があります。
私も、いくつか旅行サイトを運営しており、バリューコマースの旅行APIを導入したいと思い、挑戦していますがうまくいきません。
APIからサイトにデータを返してきているようですが、サイトへの表示が全くできません。
また、楽天の旅行APIも使いたいと思っていますが、少しハードルが高いようです。
APIに限らず、今後情報交換していだければ幸いです。
Junさん、コメントありがとうございます。お久しぶりですね。
いやあ、実は自分も検索して、他の人のサイトを参考にというか、切り貼りして四苦八苦しながら運営しているのが現状なんです。(^_^;)