Makingメイキング

カスタムフィールドで入力した日付の表示の変更方法です。

日付は入力しても自動で曜日を出力できないってことがあったので、
私の旦那(SE)に頼んで表示のフォーマットを変えるやり方を教えてもらいました!

通常の表示の仕方

<?php the_field('カスタムフィールド名'); ?>

表示結果:20160909
※返り値がYmdの場合

フォーマットを変更する

<?php $strDate = get_field('カスタムフィールド名');
$date = DateTime::createFromFormat('Ymd', $strDate);
$week = array ( 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' );
echo $date->format('Y.m.d') .'('. $week[$date->format('w')].')'; ?>

表示結果:2016.09.09.(fri)

日付のフォーマット例

表示方法を変更するには、

echo $date->format('Y.m.d') .'('. $week[$date->format('w')].')'; ?>

この部分を変更します。

2016年9月9日(土)
echo $date->format('Y年n月j日') .'('. $week[$date->format('w')].')'; ?>

曜日変更例

曜日を変える場合は、

$week = array ( 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' );

この部分を好きに変更してください。

月、火、水…
$week = array ( '日', '月', '火', '水', '木', '金', '土' );
月曜日、火曜日、水曜日…
$week = array ( '日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日' );