質問: ワードプレスでブログを書いているワードプレス初心者です。 グーグルのサーチコンソールにXMLサイトマップを登録しようとしていました。 サーチコンソールでクロール→サイトマップの追加/テストをしたところ、エラーになりました。 問題:解析エラー 説明:サイトマップを読み込めませんでした。 認識できないエントリが含まれている可能性があります。 サイトマップを確認してから、再送信してください。 調べたら&を使っているURLの特殊文字をエスケープ処理するのが必要とあったので、 ワードプレスのグーグルXMLサイトマップジェネレイターのプラグインから、 ソースコードを開き、該当箇所と思われる &を&にし、再度サイトマップ更新をしたところ、 Parse error: syntax error, unexpected ';' in がでてしまい、ブログが表示されなくなってしまいました。 プラグインを停止させたくても、プラグインを押すと Parse error:画面で真っ白になってしまいます。 データが消えるのではと思うと、怖くてワードプレスのダッシュボードも触れない状態です。 コードをもう一度開き、修正した場所を元に戻せばいいのかなと思いましたが、 ソースが開けないので修正もできず、ネットでも色々調べましたが解決法がよくわからず、 すっかり困ってしまっています。 全くの初心者なのでどうにか今まで書いたブログを復活させたく、何とか助けて頂けないでしょうか... どうぞよろしくお願い致します。
回答: エラーメッセージ内容からするとPHP文法上のエラーのためデータにはなんら影響がありません。安心してください。 in ~ には処理が中断したプログラムとその行数が書いてあるのでそのあたりを確認して、分からないようであればソースを追記してください。 追記: &→&と手動変更されたとのことですが、phpコード内の&であれば変更すべきではないと思います。 URL文字列を適切にエスケープする際はphpの関数を利用します。 → urlencode ただ、既に書いたように「PHPのコード内の&」は文字列ではなく別の意味を持つことがあります。 代入演算子 論理演算子 ビット演算子 リファレンス渡し など というところで、文字列以外のPHPコード上の&を変更してしまった可能性が高いと推察されます。 更に追記: プラグインに手を入れる場合は、今回のような事態が起こってもすぐに戻せるように ソースコードとデータベースのデータはバックアップをとっておいて手を入れるようにすると良いです。 よく分からないまま修正して動作しなくなる例が非常に多いです。 kei344さんの仰るようにプラグインアップデートの際に上書きされてしまい、また手を入れるようなこととなってしまった場合に、 必ずしも同じ箇所を直せば良いかというとそうはいかなくなることもありますので、 基本は手を出さないのと、出すなら必ずバックアップ、もしくは制作者に要望を出すなどして対応するようにしてください。