【php7.0.x】MTS Simple Bookingの管理画面エラー修正方法

ワードプレスでphp7.0.xにバージョンアップしたらMTS Simple Booking関連のエラーが管理画面上に出てしまったので、簡易的な修正を行った備忘録。検索しても一切出てこなかったから自分でやっちゃった。

ワードプレス管理画面の症状

ダッシュボードのトップに以下のエラーコード。

Warning: Declaration of MTSSB_Article_Admin::register_meta_box() should be compatible with MTSSB_Article::register_meta_box($post) in ~

メニュー「予約システム」の「追加・編集」のリンク先と「予約カレンダー」の個別予約品目へのリンク先に以下のエラー。

Fatal error: Uncaught Error: Call to undefined function split() in ~

php7.0.x以上になり互換性のない変更があったため、その部分を修正しないとエラーが消えない模様。

当エラーが出ていてもサイト上からは問題なく予約を行うことができていたが、管理画面上にエラーが出ているのはよくないし、追加・編集と予約カレンダーの予約品目リンクが使い物にならないのは困ってしまうので応急処置を行った。

Warning: Declaration of MTSSB~の修正方法

修正ファイル:
plugins/mts-simple-booking-c/mtssb-article-admin.php

  1. 「mtssb-article-admin.php」をテキストエディタで開く
  2. 「register_meta_box()」の文字列を検索
  3. 「register_meta_box($post)」の記述に変更
  4. 「mtssb-article-admin.php」をFTPで上書きアップロード

これでダッシュボードのエラーは消える。

Fatal error: Uncaught Error:~の修正方法

修正ファイル:
plugins/mts-simple-booking-c/mtssb-booking.php

  1. 「mtssb-booking.php」をテキストエディタで開く
  2. 「$today = split('-', date_i18n('Y-n-j'));」の文字列を検索
  3. 「$today = preg_split('/-/', date_i18n('Y-n-j'));」の記述に変更
  4. 「mtssb-booking.php」をFTPで上書きアップロード

これで予約システムのカレンダーと追加・編集に出ていたエラーが全て消える。

雑なまとめ

当ページの修正作業を行えば一通りのエラーは全て消せる。細かい部分のチェックは行っていないので、必要があれば追記する。

公式の有償版もphp7以上にはまだ未対応とのことなので、カスタマイズはバックアップをしっかり取った上で自己責任で。

応急処置的な対応なので、不安な人は公式有償版の対応を待ったほうがいい。

2017.11追記

有償版では既にphp7以上対応版が出ているが、無償版は……(察し)
自分たちで直して使ってね♪ってことなんだろうか。いずれ直すよねきっと。

ちなみに俺は、有償版をお布施も兼ねて購入したよ。わりと安いしね。
君もこの機会に有償版を買ってみたらどうだい?