function.phpに下記のようにセットしています。
function get_event_dates($datestart,$dateend,$long=0) { if ($long == 1) { $date_format = 'Y年n月j日'; } elseif ($long == 2) { $date_format = 'Y年n月'; } elseif ($long == 3) { $date_format = 'Y_n'; } elseif ($long == 4) { $date_format = 'Y年n月j日'; $dateend = $datestart; } else { $date_format = 'Y/n/j'; } $day_format = 'N'; $year_format = 'Y'; $date_format_2 = 'j日'; $japanese_weekday_start = " (".japanese_weekday(date($day_format,(strtotime($datestart)))) . ")"; $japanese_weekday_end = " ~ (".japanese_weekday(date($day_format,(strtotime($dateend)))) . ")"; if ($long == 2 || $long == 3) { $japanese_weekday_start = ''; $japanese_weekday_end = ''; } if($datestart == $dateend): $date_string = date($date_format,(strtotime($datestart))) . $japanese_weekday_start; else : if($datestart == $dateend): $date_string = date($date_format,(strtotime($datestart))) . $japanese_weekday_start; else : $startmonth = date('M',(strtotime($datestart))); $endmonth = date('M',(strtotime($dateend))); if($startmonth == $endmonth) : $date_string = date($date_format,(strtotime($datestart))) . $japanese_weekday_start . $japanese_weekday_end; else : $date_string = date($date_format,(strtotime($datestart))) . $japanese_weekday_start . $japanese_weekday_end; endif; endif; endif; return $date_string; }
single.phpに下記でセットしています。
$start_date = get_post_meta(get_the_ID(), 'info_start_date', true); $end_date = get_post_meta(get_the_ID(), 'info_end_date', true); $date_string = get_event_dates($start_date,$end_date,1);
そして以下ようにphp echoで出力したいと思っています。
<?php echo $date_string; ?>
投稿画面から
開始日付 : 20180904
終了日付 : 20180905
を入力して投稿しました。
しかし出力される値が、
2018年9月4日 (火) ~ (水)
のように開始日付は取得できるのですが、終了日付が取得されません。
下記のように個々にと出力すると
<?php echo $start_date; ?> <?php echo $end_date; ?>
→
2018年9月4日 (火)
2018年9月5日 (水)
と表示できるのですが、$date_stringでつなげると表示ができません。
出力結果を
→
2018年9月4日 (火) ~ 2018年9月5日 (水)
上記のように表示がしたいのですが、どのようにすればよいでしょうか。
回答3件
あなたの回答
tips
プレビュー