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の有料版 には対応していません。


