こんにちは!
いよいよ世の中は5G時代に突入!という情報がもっぱら飛び交っていますが、そんなことより自宅の光回線が非常に速度が遅く、自宅固定光回線の最速と謳われている「NURO光」にするかどうか迷っているすいっちです。ちなみに現在はまぁ色々たたかれている「フレッツ光」です(笑)
気を付けてはいましたが、function.phpをいじって見事にサイトが表示されなくなってしまう!!その解決方法!!
ブログ開始から「cssやphpをいじる時はリスク回避と今後のアプデのことを考え=子テーマをいじることを基本にしたほうが良い」という認識は以前よりありました。
なので、以前のブログでサイトの「写真だけのページを404エラーで返す」phpを追加する作業をした際、「子テーマ」のfunction.phpに追加したまではよかったのですが、結局エラーになりサイトが表示されなくなってしまい、それだけでなくワードプレスの管理画面までもが見られなくなる、という事態に陥ってしまいました。
ですが、幸いなことに「ブラウザの戻るボタンが生きていたため」戻るボタンで管理画面に戻ることができ、追加した部分をすぐさま削除し、子テーマを更新したところ、無事表示されるようになり、その時は事なきを得た記憶があります。
当時は、あまり深く考えておらず、「ブラウザの戻るをすればまぁ戻れたからなんとかなるな」くらいに、あまり大きな問題として捉えてはいませんでした。
今から思えば大胆なことをしたなと思いますが、その時は結局「親テーマ」のfunction.phpをいじり、phpを追加したところ、問題なくサイトも表示されたので、今の今までそのままにして今日に至ります。
「【親テーマ】のphpなどをいじっていると、テーマがアップデートされた際はphpなどは上書きされてしまうので、追加したphpなどは消えてしまう。そうするとアプデ後はまた設定し直しが発生してしまうので、【子テーマ】をいじるようにしておくと、子テーマは上書きされないため、設定し直しが発生しない。なので常に子テーマでの運用(いじり)が基本」
このことは知っていたので、現在は正常に表示されているものの、将来的な不安は残ったままで、「親テーマ」にphpを追加していたことはずーっと気にはなっていました。
その不安を解消するべく、最近になってブログ初心者ながらも、ある思いが、、
ということで、今回はfunction.phpをいじった時に起こった様々な事態と、その後の解決行動までをまとめてみました。同じ事態におちいってしまったかたの多少の参考になれば幸いです。
※今回の記事はブログソフト「WordPress」の場合についての内容になっています。
最悪、、管理画面も表示されなくなり、頼みの綱であったブラウザ自体、閉じてしまった、、
そもそも、やりたかったことは、写真だけのページを「お探しのページは見当たりませんでした」という表示がされるようにし、アドセンスの合格に近づこう!というのが発端で、以下のナガさんのサイトを参考にし、phpコードを子テーマに追加入力しようとしたことです。
ということで、早速「子テーマ」のfunction.phpに上記のコードをコピペしたところ、前回同様エラーとなり、サイトも表示されなくなる~ブラウザの戻るボタンで管理画面へ、を繰り返すことになりました。繰り返しながらも時には「親テーマ」のfunction.phpと見比べながら色々試してもいました。
そんなことを繰り返していた時、エラーがまだ解消されていない時点で、恐ろしいことをしてしまいます。
ブラウザを閉じてしまった!!!
その時は事の重大さは理解できていませんでした。ですが直後、ことの重大さがわかり、一瞬にして血の気が引いていくのがわかりました。ほんとです。
案の定、ブラウザの戻るボタンという管理画面に戻る唯一の方法を失くしてしまったので、改めて自分のサイトに入ろうとすると、サイトの表示はもちろんのこと、ワードプレスの管理画面にすら入れなくなってしまったのです、、。以下の文字表示だけで画面は真っ白に、、
「〇〇/〇〇function.phpの8行目にエラーがあります」
もう二度と見たくない表示です。
当然エラー内容のphpの8行目を確認しようにも、管理画面にすら入れない、、、
救いはやはり「バックアップ」
5分くらいでしょうか。どうしよどうしよ、、とひたすら焦っていたと思います。
ですが、以前ブログ開始直後、役に立つかどうかもわからない時期にバックアップを取っていたことを思い出します。
ただこの時は、そのバックアップの取り方も合っているのか、そもそも正常にバックアップは取れているのか、正直不安も残っていたので、「解決できる」という確信はありませんでした。
不安の中での復旧作業、、
「バックアップの取り方とバックアップからの復旧方法」については初心者の私なりのポイントを後述しようと思っています。自分の情報の整理のためにも。
兎にも角にも、FTPソフトというものを使い、無事復旧でき、管理画面に入り戻ることができ、phpは【親テーマ】に追加されている状態ではあるものの、とりあえず正常にサイトが表示される状態に戻すことはできました。
懲りずにエラーの原因を探る
無事に復旧できたので、今後「子テーマをいじって運用していく」ことはあきらめてそのままでも良かったのですが、FTPソフトを使っての復旧が確実に身についたという自信から、エラーの原因を探ってみることにしました。
世界中を見回せば、必ず同じようなことで困っている人もいるのでは、という思いと、やはり根本的な「親テーマをいじっていることが気になる」ということを解決したかったので。
<?php 後に結びの指示が無いのに、新たに<?php を追記すると重複指示でエラーになる(と思う、、)
今の時代、様々なことに対しての解決策はSNS上にあり!!
これは私の持論です。
このfunction.phpのエラー関連について、色々なサイトを見まくりました。なので、数が多すぎてどのサイトが参考になったかも覚えてないので、ご紹介できずに申し訳ないです。
ただ、見出しにもあるように、追加しようとしたコードの追加範囲に問題があったことは確実にわかりました。最終的には解決しているので間違いありません。
エラーになってしまうfunction.phpの表示部分
写真の1行目~7行目が子テーマの元の状態のphpです。
そして、8行目~17行目が今回追加したかったコピペしたコード部分です。※404エラーを返すphpです。
上記写真のコメントの通り、【<?php】はアクションの指示開始コード?と思われ、元の1行目の【<?php】に対して、結びのコードが表記されていないうちに、また8行目の【<?php】が入力されているので、重複指示でエラーとなったようです。
そこで調べていくうちに、phpとかは同じものがしっかり処理されないうちに表記されているとエラーになる、【<?php】に対しての結び【?>】の扱いを理解していないとやっかい、という情報が。
ということで、以下のようにしてみました。
追加しようとしたコードの一番先頭の行の<?php を削除して入力
これでOKでした。
正常に表示されるようになりました!!
無事、写真だけのページが「ページが見当たりません」と表示され、サイト自体も正常に復旧しています。
おそらく上記に述べた原因でほぼ間違っていないと思われます。
また、結びの表記【?>】は特に表記しなくても問題なく、逆に入れないほうが良い、との情報もあったので、上記写真のままにし、今後追加のコードを入れる際は、この最後の行に追加していく形にしていこうと思っています。
焦りまくった今回
最後には無事事なきを得ましたが、改めて今思うことは、「バックアップは重要」であるということです。
もしバックアップを取っていなかったら、今回おそらく復旧はかなーーり厳しい状況であったのではと思います。
ブログサイト運営の先輩のかたたちにとっては当然のことだと思いますが、これからブログを始めようとする人や始めて間もない人は、必ずバックアップを取っておくこと、バックアップの復旧方法を理解しておくこと、これは絶対にしておいてくださいね。
サイトが全く表示されなくなった、、管理画面すら見られなくなった、、という体験はできればしてほしくない経験ですので~。
その意味でも、先程お伝えしましたが、バックップの取り方と復旧方法は改めて整理していきたいと思っています。
以上、ルノアール脇からでしたー。