WordPressのダッシュボード (管理パネル) にログイン出来なくなってしまいました。原因はおそらく「wp-config.php」をいじったからでしょう。
「エラーですよ」みたいなメッセージが沢山表示されています。後から元に戻しても一向にログインできません。

サイトはしっかり表示されているんですけどね。ログインだけできないのです。
このような場合、一体どうしたらいいのでしょうか?
プラグインを無効化
WordPressでこういったトラブルの場合、たいていはプラグインやテーマとの兼ね合いによるものです。プラグインを無効化する方法を見てみましょう。
FTPクライアンドソフトを使い「wp-content/plugins」にアクセスします。ここでプラグインが一覧表示されるので無効化したいプラグインのフォルダ名を変更します。
例えば「jetpack」を無効化にしたい場合「-jetpack」などとします。これで無効化になります。
ここで気を付けたいのが事前に無効化されているプラグインもインストールされている状態なら表示されるということです。キャッシュ系など怪しいと思うプラグインは不具合が解消するまで無効化しておきましょう。
テーマを無効化
プラグインが原因ではないのなら、テーマを無効化しましょう。調べてもやり方があまり書いてなかったので荒い方法かもしれませんが、「プラグインを無効化」した方法と同じ方法を試してみました。
「wp-content/themes」にアクセス。いきなり無効化にするのは怖いのでまずは子テーマから。子テーマのフォルダ名を変更します。
例えば当サイトなら「simplicity2-child」を「-simplicity2-child」と変更してみました。子テーマが無効になったようですがまだログインできないようです。
続いて親テーマの方も無効化してみましたが、ダメでした。プラグインもテーマもエラー原因ではなかったようです。
WordPressを初期化するも..
やはり「Warning: Cannot modify header information」と表示される原因を探るしかないようです。この表示がされる場合ダッシュボードにログインできないようで、まさに今回の状況がそれです。
と、あれこれいじっているうちに「wp-config.php」に別サイトの「wp-config.php」を間違えて上書きして消してしまいました。
もはやこうなってしまったらサイトの評価にも影響してくると思われるので緊急事態です。やっちまいました…。

記事を書きながらもテンパっています。そんな状態でデータペースパスワードを変更してもうまくいかなかったので、WordPressを初期化することにしました。
FTPファイルをローカルに
FTPクライアントソフトで「wp-content」、「.htaccess」のデータを一旦ローカルに移します。この時filezillaなどの同時接続して高速転送できるソフトでないと下手したら半日かかってしまうのでそういったソフトを使います。
データベースのエクスポート
投稿記事データはデータベース内にあります。これを取り出すためにエクスポートしておきましょう。
いざ初期化
レンタルサーバーのwpXにはWordPressのデータベースを初期化できる機能があります。これはデータベースだけでなくFTPファイルも全て初期化されます。いわゆるWordPressインストール直後の状態になるわけです。

ということでエラーをリフレッシュするために初期化してみました。初期化したら投稿記事数0でテーマもプラグインもない状態です。
投稿記事を復活するためにデータベースに先ほど抽出した投稿データをインポートしてみました。しかし、表示されません…。何度やってもだめです。
「wpX」自動バックアップ機能
もうだめかと諦めかけていましたが、過去にXサーバーやwpXユーザーが消えたデータベースを「復元」したという記事を見たのを思い出しました。確か有料だったような..。
WordPressにはデータベースのバックアップをとるためのプラグインで「BackWPup」がありますが、そもそもこの機能があるのを知っていたから導入してなかったんです。
テンパっていると何をやってもだめな気がするので、ここでひとまず冷静になり調べてみました。
するとやはりwpXでは過去14日間のデータを自動で残しているようでそこから「復元」できるようです。しかも前はおそらく5000円位かかったのが過去データベースの「ダウンロード」や「復元」なら無料でできるようです。
下に5400円(税込) でかかると書いてありますが、それはFTPファイルの方なのでデータベースとはまた別です。今回の場合FTPファイルはローカルに保存しておいたのでセーフです。

しかも1日さかのぼってできます。という事は昨日のデータベースに復元すればほぼ無傷で復活できるということになるでしょう。
このようにしっかり残されているんですね。いやー、Xサーバー社のレンタルサーバーを使っていて本当に良かった。今回のようにレンタルサーバーによる自動バックアップ機能がなかったら完全にアウトでした…。

この「ダウンロード」と「復元」はどちらを使っても復旧できます。「ダウンロード」だとおそらく「sqlファイル」がダウンロードされるのでそれをデータベースにインポートするという作業になります。
今回は「復元」を選択しました。このワンクリックだけで過去の無事な状態のサイトに戻ることができるんです。と、クリックしてみましたが数時間たってもサイトが表示されないのでサポートに問い合わせてみました。
するとどうやら「wp-config.php」に原因があることがわかりました。今回FTPクライアントソフトで「wp-config.php」を編集したときにメモ帳で編集、保存していました。これがいけなかったようです。
テンパっていて冷静じゃなかったのもあるかもしれませんが、このファイルの場合BOM無しという文字コードで保存しなければいけなかったのです。これが今回のエラーの元でwpXの自動バックアップ機能から「復元」しても復旧できない原因でした。
TeraPadを使えばBOM無しで保存できるのでその方法で保存したら解決、サイトも無事に復旧することが出来ました。めでたし、めでたし。
まとめ
今回はサポートに助けられました。wpXの自動バックアップ機能に感謝、感謝です。しかも今ではこれが無料というのですからまさに顧客満足度120%です。
それにしてもBOM無し保存をしないとエラーを起こすとは知りませんでした。「Warning Cannot modify header..」と訳が分からないエラー表示される原因がまさにこれで、そもそもこれが今回のトラブルの全ての元ですから。知らないと怖いですね。