質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.95%

【WordPress】Event Organiserの詳細ページでの日付表示を変更したい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 3,971

score 19

初めまして。

WordPressのプラグインEvent Organiserを使用しているのですが、
カレンダーの日付をクリックした後の、詳細ページの日付が欧米の日付表示になってしまっています。
これを、2018年10月5日などに変更したいのですが、どこをどうすればいいのでしょうか?
ご教授のほどよろしくお願いいたします。

イメージ説明

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

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 追加後)
表示画面

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/26 16:13

    横から失礼します。質問者さんは、「カレンダーの日付をクリックした後の、詳細ページ」と書かれているので……。アーカイブページでのことだと思います。

    キャンセル

  • 2018/10/26 16:55 編集

    8-0_nyan5 さん
    ご指摘ありがとうございます。

    あれ? テーマによって、動作が違うのかなぁ...

    試して見た感じでは、http://example.com/events の URL でカレンダーが表示されます。(追記の2点目の画像)

    (質問には「日付をクリック」と書かれていますが、カレンダーの日付にはリンクが貼られていないので...)カレンダーの日付欄に表示されているイベント名をクリックすると 個別ページ( http://example.com/events/event/slug/ ) が表示されたので、個別ページのことだと思ったのですが...

    質問者さんの返答待ちかなぁ...

    キャンセル

  • 2018/10/29 10:48

    cherryさん nyanさん

    ありがとうございます!
    ページURLは以下のような感じです。
    ○○.jp/events/event/on/2018/10/26
    テーマや環境で若干違うのかもしれませんね。。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.95%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る