WordPressの予約プラグイン「Pinpoint Booking System」を使用して予約サイトを構築しています。
海外のプラグインのため、日付のフォーマットが2020年12月06日といった日本の形式に対応しておらず、ソースコードを改修する必要があります。
下記のサイト様を参考にして、予約カレンダーの日付フォーマットの変更は成功しました。
しかし、自動返信メールの日付フォーマットの変更で不具合が発生しています。
下記サイト様通りにコードを変更すると、予約するボタンを押した際に予約完了とならず、永遠に読み込み中となってしまいます。
有料版を購入して構築を進めており、無料版では下記サイト様通りに行うと自動返信メールの日付フォーマットがちゃんと変更することができ、有料版のみ上手くいきません。
参考サイト様URL Pinpoint Booking System 日付フォーマットの変更方法
https://it-studio.jp/pinpoint-localize/
修正前
PHP
1 /* 2 * Check in data. 3 */ 4 array_push($info, 5 $this->getInfo($DOPBSP->text('SEARCH_FRONT_END_CHECK_IN'), 6 $DOPBSP->classes->prototypes->setDateToFormat($reservation->check_in, 7 $settings_calendar->date_type, 8 array($DOPBSP->text('MONTH_JANUARY'), 9 $DOPBSP->text('MONTH_FEBRUARY'), 10 $DOPBSP->text('MONTH_MARCH'), 11 $DOPBSP->text('MONTH_APRIL'), 12 $DOPBSP->text('MONTH_MAY'), 13 $DOPBSP->text('MONTH_JUNE'), 14 $DOPBSP->text('MONTH_JULY'), 15 $DOPBSP->text('MONTH_AUGUST'), 16 $DOPBSP->text('MONTH_SEPTEMBER'), 17 $DOPBSP->text('MONTH_OCTOBER'), 18 $DOPBSP->text('MONTH_NOVEMBER'), 19 $DOPBSP->text('MONTH_DECEMBER'))))); 20 /* 21 * Check out data. 22 */ 23 if ($reservation->check_out != ''){ 24 array_push($info, 25 $this->getInfo($DOPBSP->text('SEARCH_FRONT_END_CHECK_OUT'), 26 $DOPBSP->classes->prototypes->setDateToFormat($reservation->check_out, 27 $settings_calendar->date_type, 28 array($DOPBSP->text('MONTH_JANUARY'), 29 $DOPBSP->text('MONTH_FEBRUARY'), 30 $DOPBSP->text('MONTH_MARCH'), 31 $DOPBSP->text('MONTH_APRIL'), 32 $DOPBSP->text('MONTH_MAY'), 33 $DOPBSP->text('MONTH_JUNE'), 34 $DOPBSP->text('MONTH_JULY'), 35 $DOPBSP->text('MONTH_AUGUST'), 36 $DOPBSP->text('MONTH_SEPTEMBER'), 37 $DOPBSP->text('MONTH_OCTOBER'), 38 $DOPBSP->text('MONTH_NOVEMBER'), 39 $DOPBSP->text('MONTH_DECEMBER'))))); 40 } 41
修正後
PHP
1/* 2 * Check in data. 3 */ 4 array_push($info, $this->getInfo($DOPBSP->text('SEARCH_FRONT_END_CHECK_IN'), 5 date('Y年m月d日', strtotime($DOPBSP->classes->prototypes->setDateToFormat($reservation->check_in))))); 6 7 /* 8 * Check out data. 9 */ 10 array_push($info, $this->getInfo($DOPBSP->text('SEARCH_FRONT_END_CHECK_OUT'), 11 date('Y年m月d日', strtotime($DOPBSP->classes->prototypes->setDateToFormat($reservation->check_out)))));
無料版と有料版のソースコードを確認すると、有料版では下記のコードが追加されてありました。
上手くいかないのは下記のコードがあるからでしょうか。
有料版のみに存在するコード
PHP
1elseif($key == 'check_in' 2 || $key == 'check_out'){ 3 $message = str_replace('|'.mb_strtoupper($key).'|', 4 $DOPBSP->classes->prototypes->setDateToFormat($value, 5 $settings_calendar->date_type, 6 array($DOPBSP->text('MONTH_JANUARY'), 7 $DOPBSP->text('MONTH_FEBRUARY'), 8 $DOPBSP->text('MONTH_MARCH'), 9 $DOPBSP->text('MONTH_APRIL'), 10 $DOPBSP->text('MONTH_MAY'), 11 $DOPBSP->text('MONTH_JUNE'), 12 $DOPBSP->text('MONTH_JULY'), 13 $DOPBSP->text('MONTH_AUGUST'), 14 $DOPBSP->text('MONTH_SEPTEMBER'), 15 $DOPBSP->text('MONTH_OCTOBER'), 16 $DOPBSP->text('MONTH_NOVEMBER'), 17 $DOPBSP->text('MONTH_DECEMBER'))), 18 $message); 19 }
上記の内容で何かわかることがございましたら、ご教示いただけますと幸いです。
この他必要な情報があればお伝えしますので、どうぞ宜しくお願い致します。
あなたの回答
tips
プレビュー