WordPress(ワードプレス)で構築されているブログやWebサイトで「parse error: syntax error, unexpected~」とコードが突然、表示される事があります。
ここでは、WordPressで「parse error: syntax error, unexpected~」コードが表示される主な原因を紹介します。
「parse error: syntax error」とは
「parse error: syntax error」が表示される原因はphpの記載です。
phpプログラムの記載が間違っている、バージョンに適合していない記述を構文エラーと言います。
実装されたプログラムのコードに間違いがあったりすると「parse error: syntax error」と表示され、間違っていますよ、エラーがありますよと教えてくれるわけです。
エラーメッセージには、主な原因となるファイルの場所(サーバー内ディレクトリ/フォルダ)と行が表示されます。
WordPressで「parse error: syntax error, unexpected~」エラーが発生する主な原因は
WordPressはテーマやプラグインなどphpプログラムで記述されています。
もし、それらのファイルを自分で修正してphpの記載を間違えてしまった場合「parse error: syntax error, unexpected~」エラーが表示されますが、Wordpressのブログを利用しているほとんどの方は、Wordpressのプログラムのコード部分を修正した事がないと思います。
phpのコードやファイルを修正した覚えがないのに、突然「parse error: syntax error, unexpected~」と表示される場合があります。
その主な原因は
1、使用しているプラグインのバージョンがアップデートされ古いphpのバージョンが対象外になった。
2、契約しているサーバー(レンタルサーバー)のphpバージョンが自動でアップグレードされた。(古いphpが使用できなくなった)
3、Wordpressのテーマがアップグレードされた。(新しいphpのバージョンでが使用できなくなった)
4、Wordpress本体のバージョンがアップグレードされた。
などです。
これらすべてphpコードの記載とphpのバージョンが関係します。
この中で、一番多いとされるのが、1のプラグインのバージョンアップです。
WordPressのプラグインは無料で利用できるものが多く大変便利ですが、プラグインの最新アップデートの際、phpの記述を新しいphpバージョンのみ対象にすることがあります。
phpのバージョンが変わるとコードの記述が一部変わりエラーが表示されるのです。
プラグインはセキュリティー上、最新バージョンにする必要がありますが、古いワードプレスでむやみに最新にしてしまう事は危険です。
プラグインが原因で表示される「parse error: syntax error, unexpected~」の対処方法
「parse error~」エラーがプラグインかどうかはエラーコードが参考になります。
「parse error: syntax error, unexpected~」コードで「wp-content/plugins/」と表示されていればプラグインの可能性があります。
エラーコードにwp-content/pluginsの記載があるならプラグインを無効にしてみましょう。
無効にするやり方は、その「parse error: syntax error, unexpected~」に続くエラーコード「wp-content/plugins/~~」、「~~」のプラグインをメモしてください。
そのプラグインを管理画面のプラグイン→インストール済みプラグイン一覧から探して無効にするだけです。(または削除。新規追加で入れ直しできます)
parse errorでWordpressにログインできない場合
「parse error: syntax error, unexpected~wp-content/plugins/~~」と表示され、Wordpressの管理画面ログイン画面でエラーコードが表示されてログインできない場合はSFTP(FTP)接続して、ディレクトリ/フォルダのプラグイン名を一時的に変更してみましょう。
変更例(rrrというプラグインの場合)「wp-content/plugins/rrr」→「wp-content/plugins/rrr202008」
プラグインが原因ならエラーコードが表示されなくなりログインできる筈です。
古いバージョンのWordpressは注意が必要
古いバージョンのphpやWordpressは、突然プラグインを利用できなくなるケースがあります。
サーバーのphpバージョンをアップデートして解決できる場合もありますが、Wordpressのバージョンがかなり古い場合、サーバーのphpのバージョンを新しいバージョン(7.4など)に変更するとWordpressプログラムが動作しなくなることがあるので注意が必要です。
新しいワードプレスへのバージョンの移行は多少面倒ですが、セキュリティーの面からも最新のバージョンにしておく事をおすすめします。