質問: 初めまして。 WordPressのプラグインEvent Organiserを使用しているのですが、 カレンダーの日付をクリックした後の、詳細ページの日付が欧米の日付表示になってしまっています。 これを、2018年10月5日などに変更したいのですが、どこをどうすればいいのでしょうか? ご教授のほどよろしくお願いいたします。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/d1d41cefe692d37ff686381dabcd3d7c.png)
回答: Event Organiser Docs と ソースコードを眺めてみました。 詳細画面の日付は、templates/event-meta-event-single.php の eo_get_schedule_start( 'j F Y' ) と eo_get_schedule_last( 'j F Y' ) で、表示しているようです。 ドキュメントで、eo_get_schedule_start を検索すると eventorganiser_get_schedule_start フックで、カスタマイズできるようです。同様に eo_get_schedule_last も eventorganiser_get_schedule_last フックで、カスタマイズできるようです。 ということで、eventorganiser_get_schedule_start フックのサンプルに日付フォーマットを変更する部分をはめ込んだだけですが、こんな感じで変更できないでしょうか? (未テストです) ``` function my_eo_dateformat_tt152713( $formatted_date, $end, $format, $post_id ){ //Change first value and return it $formatted_date = date( 'Y年m月d日', strtotime( $end->date ) ); return $formatted_date }; add_filter( 'eventorganiser_get_schedule_start', 'my_eo_dateformat_tt152713', 10, 4 ); add_filter( 'eventorganiser_get_schedule_last', 'my_eo_dateformat_tt152713', 10, 4 ); ``` (実際にテストして結果の追記) 新規インストールした WordPress 4.9.8 + twentyseventeen + Event Organiser 3.7.4 の環境を作成して、質問に書いた内容を twentyseventeen の functions.php に記載して動かしてみました。 特にエラーなく下記のような情歌いです。 イベント用のテーマではないので、見た目は違うかもしれませんが... 個別画面の表示に関しては、日付のフォーマットは日本になっているようです。 ダッシュボードのイベントの入力画面 !入力画面 カレンダー画面 ( http://example.com/events ) !カレンダー画面 個別イベント(「test01」をクリックして表示された画面)の表示画面(function 追加前) !追加前の画像 個別イベント(「test01」をクリックして表示された画面)の表示画面(function 追加後) !表示画面