WordPress 「今日の日付」を表示する wp_date

Wordpress wp_date WordPress の設定

とある管理サイトで、タイ語、かつタイ仏暦で「今日の日付」を表示したいとの事。
当初 PHP の date 関数で実現しようとしたのですが、WordPress の functions.php 内でこの関数を使用すると、UTC(協定世界時)で返ってくるではないか?? システムのタイムゾーンも php.ini のタイムゾーンも再確認したが問題無し。んー ???
WordPress が提供する日付関連の関数を調べたら「wp_date」があるので試してみることに ...
なお、興味のある方は WordPress サイトの「Developer Resources (https://developer.wordpress.org/reference/functions/)」から WordPress の関数一覧(英語)が確認できますよ。「Search reference」の入力欄に「date」を入力して絞り込み検索すると「wp_date」がヒットします。
WordPress の管理画面の「一般設定」>「タイムゾーン」の設定との関係があるので、 WordPress 側がタイムゾーンの指定を UTC に初期化しているのかな〜 と思いつつ「wp_date」なら正常な時間を返してくるので「wp_date」を使うことに ...

その後「wp_date」マニュアルを読み直したら、$timezone のオプションパラメタでタイムゾーンの指定が可能になってますね。やはり、デフォルトのタイムゾーンはサイト設定のタイムゾーン の旨が書いてありました。フォーマット指定は、PHP 日付形式に準拠。やはり、マニュアルは、取りあえず目を通しましょう。英語だと気が重いですけど ...

以下は「wp_date」を利用してのタイ語/タイ仏暦による「今日の日付」の表示。なお、このサイトのタイムゾーンは「バンコク」に設定されているので日本時間とは2時間の差があります。表示されている時間は、この投稿の読み込み時のタイ時間なのですが??? WordPress でキャッシュのプラグインを使っているとキャッシュが作られた時間になってしまいますね。55555 ...
JavaScript による「今日の日付」の表示案は、文末を参照してみてください。

22 พฤศจิกายน (พ.ย.) 2567 10:31:53

ちなみに、日本語/西暦による「今日の日付」の表示。

2024年11月22日 10:31:53

日本語/西暦による「今日の日付」を表示する方法は、いたって簡単です。
ショートコードの利用を前提に WordPress テーマの function.php 内に以下のソースコードを追記し、投稿文書やウィジェットの表示したい場所にショートコードを埋め込むだけです。

/* 日本の今日の日付(ショートコード対応) */
function shortcode_JP_today() {
    return wp_date('Y年m月d日 H:i:s');
}
add_shortcode('JP_today', 'shortcode_JP_today');

shortcode_JP_todayJP_today は、お好きな文字列に変更してください。なお JP_today がショートコードです。 "[ " と "] "で囲んだ ショートコード の文字列を表示する場所に埋め込んで利用します。

投稿内の記述例示:
 ︙
今日の日付は、[ショートコード] です。
 ︙

時間表示が要らない場合、表示形式を変えたい場合は PHP の date 関数のマニュアルを参照願います。

wp_date('Y年m月d日') ⇒ 2022年09月27日
wp_date('Y-m-d') ⇒ 2022-09-27

JavaScript による「今日の日付」の表示案
あくまでも参考にしてくださいね。リロードで更新されると思うのだが?

2024年11月22日 10:31:53(キャッシュ)

JavaScriptによる日時
JavaScriptによる日時

表示したい場所に「カスタム HTML」で。以下のソースでは、<div id="Disp_My_Today">....</div>に表示されます。なお、css は、お好きなように ...

<div>
JavaScriptによる日時
<div id="Disp_My_Today">JavaScriptによる日時</div>
</div>
<script>
 var My_Today = new Date();
 var My_Target = document.getElementById("Disp_My_Today");
 var My_Year = My_Today.getFullYear();
 var My_Month = ("0"+(My_Today.getMonth() + 1)).slice(-2);
 var My_Date = ("0"+My_Today.getDate()).slice(-2);
 var My_Hour = ("0"+My_Today.getHours()).slice(-2);
 var My_Min = ("0"+My_Today.getMinutes()).slice(-2);
 var My_Sec = ("0"+My_Today.getSeconds()).slice(-2);
 My_Target.innerHTML = My_Year + "年" + My_Month + "月" + My_Date + "日 " + My_Hour + ":" + My_Min + ":" + My_Sec;
</script>

以下の情報も参考まで ...