WordPress個別サポート

WordPressをPHP 7に切り替えたら「Fatal error: 'break' not in the 'loop' or 'switch' context」のようなエラーメッセージが表示されることがあります。

ほとんどの場合、テーマやプラグインに古いコードが含まれていることが原因です。

たとえば、「break」という命令についてPHP 5では問題なかった書き方がPHP 7でエラーになる場合があります。

具体的には、次のようにbreakをループやswitch以外で使ってもPHP 5ではセーフでしたがPHP 7ではエラーになります。

if (…略…){
    return true;
    break;
}

上記の例では単純に不要な「break」をコメントにするか削除すれば解決です。

同じように本来はループ内で使われる「continue」についても、このような使い方がエラーになります。

スポンサーリンク

BizVektorの古いバージョンで「'break' not in the 'loop' or 'switch' context」になることも

テーマやプラグインに上記のようなコードが含まれていると「Fatal error: 'break' not in the 'loop' or 'switch' context」になります。たとえば、古いバージョンのBizVektorを使っている場合、上記のエラーが発生する可能性があります。

その場合、最新版のBizVektorにバージョンアップすれば解決です。プラグインについても同じように手動でアップデートすれば大丈夫なはずです。現在は多くの人気テーマやプラグインがPHP 7に対しているのでエラーが解消されます。

ただし、親テーマをカスタマイズしてしまった場合など、諸事情により早急なアップデートが難しい場合は、エラーメッセージを頼りにコードを修正する方法があります。たとえば、次のようなエラーメッセージが表示されたとします。

エラー発生箇所の特定

エラー発生箇所の特定

エラーメッセージが示すファイル(wp-content/themes/biz-vektor/design_skins/003/003_custom.php)を開いて23行目あたりを見てみましょう。原因になっている「break;」が見つかるはずです。

問題の「break;」が存在する

問題の「break;」が存在する

必ずしも行番号ピッタリとは限らないので注意してください。

とりあえずの対応として、この「break;」をコメントにすれば大丈夫です。具体的には「break;」の前に「//」を入力して「//break;」とします。

「break;」をコメントに

「break;」をコメントに

これでエラーは解消するはずです。

エラーが解消する

エラーが解消する

以上、簡単に「Fatal error: 'break' not in the 'loop' or 'switch' context」の対処法を書きましたがPHPの修正が不安な場合はWordPressメールサポートにご相談ください。

この記事をSNSで共有する
スポンサーリンク
WordPressでお困りのときはご相談を
細かい質問からCSSやPHPのカスタマイズ、トラブル対応まで、この記事を書いた西沢直木が直接、WordPress個別サポートで対応します。
WordPress個別サポートの特徴
  • 最短で本日中に問題解決できます
  • 見積もり無料・料金は終了後の後払いです
  • 銀座教室・スカイプ・出張またはメールで対応します
トラブル解決でお急ぎのときは
お急ぎのときはWordPressメールサポートで対応します。ご活用ください。
こんなときはご相談ください(相談・見積もり無料)
  • ログインできなくなった
  • 画面が真っ白(500エラー)になった
  • 間違ってサイトを消してしまった
  • 引っ越し・SSL対応がうまくいかない
  • CSS・PHPのカスタマイズがうまくいかない
WordPress個別サポートの連絡先

WordPress個別サポートへの問い合わせWordPress個別サポートの申し込み

関連記事

スポンサーリンク