WordPressで記事を保存後、再度記事を開こうとした時に以下のエラー画面になって編集できなくなりました。
通常、記事がおかしくなったときは編集画面の「リビジョン」を使用して復元します。
リビジョンとは?
記事を定期的に自動保存し、必要な時に保存した記事を復元できるWordPressの標準機能。初期設定では「60秒に1回」、記事を自動保存する。
今回の場合、その編集画面に入れないため「リビジョン」を使用できません。
また、WordPressのプラグインによるバックアップの復元も考えましたが、大体の方がバックアップ頻度は「1日1回」ではないでしょうか?
記事作成は少しの時間に、たくさんの文字を入力します。1日1回のバックアップでは復元しても、白紙の状態に戻ることがほとんどだと思います。
何日も時間をかけた記事だったため、ほんとうに背筋が凍りました…。
プラグインのバックアップについては、以下の記事で解説しておりますのでご参考にしてください。
本記事では記事がバグったときにWordPressのバックアップ復元やリビジョンを使用せずに、数分前の記事を復元する方法を解説しています。
私はこの方法で、記事を復元できました!!
それでは一緒にやっていきましょう!
発生状況
発生した経緯は以下となります。
- 1書きかけの記事を「下書き保存」する
- 2いったんページを離れた後、再度記事を編集する
- 3突然、例のエラーが発生…。
エラーを見る限り、「formatting.php:3507」や「formatting.php on line 3507」が目についたため、これを元に解決策を検索しましたが見つかりませんでした…。
そのため、自分でなんとか解決することにしました。
解決策
修復できないのが嫌すぎて、絶望の中ひらめいた答えが「WordPressのリビジョンの復元を、手動でやればいいのでは?」でした。
記事は「データベース」で管理しているということを思い出したので、レンタルサーバー「phpMyAdmin」を利用して手動で修正することにしました。
※データベースやphpMyAdminについては、こちらで簡単に解説しています。
その時に修正した方法を、備忘録として記事に残しておきます。
本記事は、私が利用しているレンタルサーバー「ConoHa Wing」を前提に説明を進めていきます。
※どのレンタルサーバーも、phpMyadminログイン後の操作方法は同じになります。
「phpMyadmin」は、契約しているレンタルサーバーの管理画面からアクセス可能です。
レンタルサーバー名 | phpMyadmin (公式サイトの説明ページ) |
ConoHa Wing | |
エックスサーバー | |
シンレンタルサーバー | |
さくらのレンタルサーバ |
- 1WordPressをバックアップする【重要】
念の為、作業を始める前にバックアップしてください。やり方は下の記事にまとめていますので、ご参考にしてください。
備えあれば憂いなしです。
- 2
- 3ログインをクリックする
- 4登録情報を入力して、ログインする
- 5WINGのサイト管理から、「phpMyadmin」をクリックする
- 6「phpMyadmin」にログインする
ユーザ名・パスワードを忘れた場合の対処法
ダウンロードしたバックアップデータ内の「wp-config.php」ファイルをメモ帳で開くことで、確認できます。
- 7左のツリーリストから「wp_posts」をクリックする
「wp_posts」は、主に記事情報が格納されているデータベースです。
- 8「post_date」をクリックし、日付の新しい順に並び替える
日付の新しい順に並び替えて、最新記事を探し出します。
※本記事では「下書きを保存した直後の記事」の修正を前提にしております。並び替え後、図に記載の特徴から「最新の下書きデータ」と「最新のリビジョン」を見つけてください。
投稿済みデータの場合、下書きデータと異なり特徴がないため、日付で判断するしかありません。
- 9見つけた最新のリビジョンの「編集」をクリックする
もし1つ目のリビジョンで記事を修正できなかった場合、2つ目、3つ目とリビジョンをさかのぼってください。自動保存が逆に悪さをして、壊れた記事を保存している可能性があります。
- 10「post_content」の文章すべてをコピーする
図に記載している方法で、文章をコピーしてください。
コピー完了後、画面上部の「テーブル:wp_posts」をクリックして前の画面に戻ってください。
余談ですが、「post_content」は記事の内容はHTMLで記載されています。文章以外の記号も重要な役割がありますので、消さないように注意してください。
- 11見つけた最新の下書きデータの「編集」をクリックする
- 12「post_content」に先程コピーした文章をすべて上書きする
図に記載している方法で、文章を上書きしてください。
上書き後にページを下にスクロールしていき、④⑤が図の設定になっていることを確認し、実行をクリックしてください。
図のような緑の表示がでれば、保存成功です。
以上で、記事の修正は完了となります。
WordPressで記事が正常に表示されるか確認してください。最新の下書きの内容を確認すると、記事が壊れた原因がわかるかもしれません。
私の場合、謎の文字列が400万文字びっしり記載されてました…。なんで?
この謎の文字列を削除する方法でも、解決できました。
まとめ
ここまで読んで頂き、ありがとうございます。
いかがでしたでしょうか。
記事を手動で復元する方法があまりネットに書いてなかったので、一人でも多くの人の助けになればと思います。
不明な点がございましたら、気軽にお問合せフォームよりご連絡をお願いします。できる限りサポートさせて頂きます。
それではまた会いましょう!
コメント