MTS Simple Booking-Cの無料版 でget_magic_quotes_gpc() は PHP 7.4 で非推奨、PHP 8.0 で完全削除となった為のエラー対処方法

⚠ 対応プラグインについての重要な注意

※本記事は MTS Simple Booking-Cの無料版 専用 です。
MTS Simple Bookingの有料版 には対応していません。

※本記事は実運用で詰まった方向けの技術メモです。実際の環境やカスタマイズ状況によっては、そのまま適用できない場合があります。

ここから先は環境依存になります。個別条件が絡む場合は、無理に触らず専門対応を検討してください。

1 重大なエラーが発生でも慌てない

この記事では、WordPress プラグイン MTS Simple Booking-C(無料版) を使用した際に発生する「このサイトで重大なエラーが発生しました」という Fatal error の原因と、PHP8 環境での具体的な対処方法を解説します。

サーバー移転や PHP バージョンアップ後に予約ページが表示されなくなった方は、ぜひ参考にしてください。

2 発生したエラー内容

以下のようなエラーが表示され、予約フォームが表示されなくなりました。


Fatal error: Uncaught Error: Call to undefined function get_magic_quotes_gpc()
in /wp-content/plugins/mts-simple-booking-c/mtssb-booking.php on line 420
    

この状態では、固定ページや投稿に予約フォームを設置していても、フロント画面が正常に表示されません。

3 原因

原因は、get_magic_quotes_gpc() という PHP 関数にあります。

  • PHP 7.4 で非推奨
  • PHP 8.0 で完全削除

MTS Simple Booking-C(無料版) は、古い PHP 環境を前提に作られているため、PHP8 環境では存在しない関数を呼び出してしまい、Fatal error が発生します。

4 エラーが発生しているファイル

以下のファイルの 420行目付近 が原因箇所です。


/wp-content/plugins/mts-simple-booking-c/mtssb-booking.php
    

5 問題のコード


if (get_magic_quotes_gpc()) {
    $post = stripslashes_deep($post);
}
    

この get_magic_quotes_gpc() が PHP8 では存在しないため、エラーになります。

6 対処方法(PHP8対応)

現在の WordPress では、入力値のエスケープ処理は内部で適切に行われているため、この処理は不要です。
そのため、以下のように コメントアウト します。


// PHP8対応:magic_quotes は廃止されているため処理不要
// if (get_magic_quotes_gpc()) {
//     $post = stripslashes_deep($post);
// }
    

この修正を行うことで、

  • Fatal error が解消される
  • 予約フォームが正常に表示される
  • PHP8 環境でも動作する

7 なぜコメントアウトで問題ないのか

  • magic_quotes_gpc 自体が古い仕組みである
  • PHP8 では完全に廃止されている
  • WordPress は wp_unslash() などで内部対応済み
  • 将来的な不具合を防げる

8 同様のエラーが起きやすいタイミング

  • サーバー移転
  • PHP バージョンアップ
  • WordPress 本体の更新

特に予約システムは「動かなくなると困る」機能のため、事前に対応しておくことが重要です。

9 まとめ

MTS Simple Booking-C(無料版) で発生する Fatal error は、プラグインの不具合ではなく PHP バージョン差異による問題です。
該当コードを修正することで、PHP8 環境でも問題なく利用できます。

予約カレンダーが突然表示されなくなった場合は、まず PHP バージョンとこのエラーを疑ってみてください。

⚠ 対応プラグインについての重要な注意

※本記事は MTS Simple Booking-Cの無料版 の実装解説です。
MTS Simple Bookingの有料版 には対応していません。