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

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

新規登録して質問してみよう
ただいま回答率
85.37%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Event Organiser

WordPress プラグイン

Q&A

解決済

1回答

8528閲覧

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

terra2018

総合スコア23

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Event Organiser

WordPress プラグイン

0グッド

0クリップ

投稿2018/10/18 02:13

初めまして。

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

イメージ説明

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

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/19 10:19

編集2018/10/26 07:59
CHERRY

総合スコア25216

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

terra2018

2018/10/22 07:03

cherryさん ありがとうございます! event-organiser-event-functions.phpの655行目に追加してみたのですが、エラー表示となりました。 追加する場所はここではないのでしょうか? https://gyazo.com/87cea84356ae2ff481720795379ef0e6
CHERRY

2018/10/22 07:29

プラグインや親テーマを変更することは普通しません。 追加するのは、お使いのテーマの functions.php です。
terra2018

2018/10/24 04:13

cherryさん 再度ご回答ありがとうございます! functionに追加したのですがエラー表示になりました。 他も設定するところがあるのでしょうか?
CHERRY

2018/10/24 04:29 編集

どのようなエラーになったのでしょうか? WebサーバーのエラーログかWordPress をデバッグモードにして表示されるエラーメッセージを記載してください。
terra2018

2018/10/25 02:43

cherryさん debug.logに以下のように表示されました。 [25-Oct-2018 02:39:34] PHP Notice: Trying to get property of non-object in /var/www/html/wpqa/wp-content/themes/fsvbasic/functions.php on line 1055 ちなみに、コンソールには何も表示されませんでした。 https://gyazo.com/2777675b8e1fff3fa5f6bcdd0ce1903f
CHERRY

2018/10/25 03:43 編集

あら? 変数がオブジェクトじゃないと言われていますね。変数の値が null とかでしょうか。 fsvbasic/functions.php の 1055行 って どの行でしょうか?
CHERRY

2018/10/26 04:53

ちょっとエラーメッセージがよくわからなかったので、実際にテストして見ましたが、問題なく動くようです。 「PHP Notice: 」なので、画面は普通に表されていると思いますが、質問の内容と変わっていないのでしょうか?
8-0_nyan5

2018/10/26 07:13

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

2018/10/26 08:00 編集

8-0_nyan5 さん ご指摘ありがとうございます。 あれ? テーマによって、動作が違うのかなぁ... 試して見た感じでは、http://example.com/events の URL でカレンダーが表示されます。(追記の2点目の画像) (質問には「日付をクリック」と書かれていますが、カレンダーの日付にはリンクが貼られていないので...)カレンダーの日付欄に表示されているイベント名をクリックすると 個別ページ( http://example.com/events/event/slug/ ) が表示されたので、個別ページのことだと思ったのですが... 質問者さんの返答待ちかなぁ...
terra2018

2018/10/29 01:48

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問