背景
WordPressのSecure Custom Fields(前のAdvanced Custom Fields)で、
表示上だけなら最初から2024/10/09(水)
で出力して終わりなのだが、
HTMLのtime要素の datetime
属性も必要( 0000-00-00
の形でほしい )。
<time datetime="2024-12-07" class="blog-date">2024/12/07(土)</time>
なので、日付を 2024-12-07
の形で登録したものを、2024/10/09(水)
のように曜日付きの形で出力したい。
実装方法
strtotime で文字列の日付をタイムスタンプに変換し、 date関数 で変えたい日付形式に変更する。
曜日は予め $week
に配列に入れておいて、date関数で第一引数に 'w'
と指定すると曜日の数字になるので、配列の添字と対応させる。
以下の $date_input
にカスタムフィールドの日付の値が入ってくる想定。
$date_input = '2024-12-07';
$week = [ '日', '月', '火', '水', '木', '金', '土' ];
echo date( 'Y/m/d', strtotime( $date_input ) ) . '(' . $week[ date( 'w', strtotime( $date_input ) ) ] . ')';
※初期投稿時に変数名が間違っておりました(修正済)。ご指摘ありがとうございました!(コメント欄より)