functions.phpを弄ったらWordPressのダッシュボードが立ち上がらなくなって困ったのでその事と解決方法を防備録的に記事にしてきます。
もくじ
Parse error: syntax error, unexpected
先日、WordPressの記事投稿画面でタイトルの文字数を表示させる機能を実装させようとしていました。
幸いそのような機能を簡単に実装出来る方法がネットで見つかり、実装に取りかかることに。
その方法はfunctions.phpにコードを書き加えるというものでプラグインでの実装と比較するとやや面倒ではありますが、そういったプラグインが見つからなかったことに加え、コードそのものは用意されたものをコピペするだけだったので「まあ、この方法でいいか」と思ってコードをコピー。
WordPressのダッシュボードからfunctions.phpにコードを書き加えるには
- ダッシュボード→外観→テーマの編集でスタイルシート(style.css)にアクセス
私の場合だとSimplicityの子テーマのスタイルシートですね。
該当する場所にアクセスすると右側に編集するテーマを選択とかテンプレートとかそういった表示がされているはずなのでそこからテーマのための関数(functions.php)を選択します。
そして、新たに記述したいコードを書き加えるだけ…なのですが、このfunctions.phpに誤ったコードを記述するとダッシュボードが立ち上がらなくなります(´・ω・`)
具体的にはダッシュボードにアクセスしようとしても
Parse error: syntax error, unexpected ‘<‘ in /ファイルのアドレス/functions.php on line 記述が可笑しい場所の行
と表示されて、ダッシュボードにたどり着けなくなります。
ちなみにこのエラーが発生している間は別のブラウザやマシンから該当するブログにアクセスしても同様のエラーが表示されるのでブログそのものが見ることが出来なくなっています。
助けて!WordPressちゃんが息をしていないの!(´;ω;`)
レンタルブログとかWordPressのテンプレートに新たな記述をして、それが意図しない動作をしたとしても、レンタルブログの管理画面とかWordPressのダッシュボードから実装前の段階に戻せるじゃないですか。
今回もそういった感覚でfunctions.phpを弄っていたんですけど、ダッシュボードから立ち上がらなくなるんでコードを記述前に戻すことが出来なくなってしまったんですよ。
正直、滅茶苦茶焦りました…。私は基本的にWordPressの中身を弄れるような技術が無いので、何をどうすれば良いのかさっぱり。
とりあえず、表示されるエラー分をコピペしてGoogle検索してみるとfunctions.phpの特定の行に可笑しい記述があるという所まではわかりました。
つまりfunctions.phpの元に戻すことさえ出来ればこのエラーは解消されそうなのですが、何しろその編集画面であるダッシュボードが開けないわけです。
ファイルに直接アクセスしよう
しかし、このエラーはきちんとファイルのアドレスもきちんと表示してくれています。だったら私の場合はfunctions.phpに直接アクセスすれば良いんだ!という事に気付きました。
具体的には
- FTPソフトを使ってファイルにアクセスしfunctions.phpを一旦ローカルに保存、その後、エラーの要因を取り除き再びアップロード
するか
- サーバーのファイルマネージャーからfunctions.phpにアクセスし編集、エラーの要因を取り除き保存
すれば解決出来そうです。
ここから先は各々のサーバーによって解決策が変わりますが私はサーバーのファイルマネージャーからアクセスして編集することにしました。
私はエックスサーバーを使用しているのでエックスサーバーにアクセスしログインします。
IDとパスワードを入力しログイン、インフォパネルからファイルマネージャを選択
ファイルマネージャからParse error: syntax error, unexpectedが表示されたアドレスに従いfunctions.phpにアクセス、チェックボックスをクリックしチェックしたら編集をクリック
エラー要因を取り除き弄って編集をクリック。
無事に編集が完了するときちんとダッシュボードにアクセス出来るようになり、ブログも無事に閲覧することが出来ます。
PHPファイルを弄るのであればデバッグモードが良いらしい
今回私は無知であるにも関わらず、直接PHPファイルを弄ってしまったことでWordPressのダッシュボードにアクセス出来なくなってしまいましたが、PHPファイルに新たな記述を書き加える際にはデバッグモードで弄るとPHPの記述が間違っていてもエラーを教えてくれるらしいです。
このサイトは個人サイトですしアクセスも大したことが無いので、十数分ほどアクセス出来なかったとしてもそこまで問題は無いと思いますが重要性が高いサイトや日々のアクセスの量が多く数十分ほどのダウンでも大きく収益を損なってしまうような場合はデバッグモードで弄るのが良さそうですね(´・ω・`;)
- 【デレステ】2019年4月予定の第18回シンデレラフェスのフェス限定SSRを予想する - 2019年4月2日
- 【デレステ】新たなSSRが実装される可能性があるアイドル一覧【2019年4月版】 - 2019年4月1日
- 【デレステ】新たなSSRが実装される可能性があるアイドル一覧【2019年3月版】 - 2019年3月1日
素人の私がPHPファイルの事など分からないのに、色々カスタマイズしようなんてしたもんだから、たかとさんと全く同じ現象になり、何度もファイルを直そうとして、やっとこのブログに辿り着きました。
このブログがなかったら解決出来たか分かりません。
ありがとうございました。
コメントありがとうございます(`・ω・´)
お役にたったようで嬉しいです!
この現象、結構焦りますよねw
本当に命の恩人です!
たいして能力も無いくせにphpをいじったが為に、
全くアクセス不能の真っ白状態に頭も真っ白で心臓バクバクだったところにこのサイトを見つけて無事解決しました!
本当にありがとうございます!
お役に立てたようで幸いです~!