先日,WordPressの記事が表示されなくなるトラブルがあったので,記事にしておく。
なお,おそらくこの解決法が当てはまる人は少ないとは思うが,何かのヒントになれば幸いである。

WordPressの基礎知識

まず,WPの基礎知識として

  1. サーバー内にインストールしたWPフォルダ(wp-config.phpとか)には,テーマ情報などは入っているが,記事のデータそのものは入っていない。
  2. このフォルダとファイルたちは,データベースの場所とパスワードを持っているので,データベースとドメイン(URL)とをつなげている。

つまり,サーバー内のフォルダ,ファイルたちは,

  1. ドメインからWPサイトを表示しろと命令されて
  2. 結びついているデータベースから記事データをもらって
  3. WPサイトとして表示している。

トラブった体験談

先日,WordPressのテーマを自作していたのだが,データベースとかwp設定とかをいじりまわした結果,404エラーが出てブログのトップページにもアクセスできなくなった。
いろいろ調べたところ,このエラーは「ドメインに表示させるフォルダが別のものになっていて,そもそもWPをインストールした先のフォルダではなかった」からで,すぐに解決した。

ここで自分のブログのトップページにアクセスできるようになって安心していたが,トップページの記事一覧や個別ページが表示されないことに気が付いた。

散々格闘してわかったときには拍子抜けするくらい簡単だったのだが,一応記録しておく。

この時点での状況

  1. さくらサーバーからWPをインストールしたフォルダと,ドメインとはちゃんと結びついていた。
  2. データベースを変更し,wp-config.phpで設定変更もしていた。

ここまで確認して,「トップページは表示されているが,記事データなどはすべて消えている」ような状態だった。
結論を言うと,データベースを新規追加して,バックアップしておいた以前のデータベースのデータをダウンロードしたのだが,さくらサーバーからWPをクイックインストールする際に指定する「テーブルの接頭語」の設定をしていなかったことだった。

さくらサーバー画面
ここの「テーブルの接頭語」が肝だった

phpMyAdminから探してみると,”xxxxxxposts”の中に記事データが格納されていた。このxxxxxxを指定していなかったことが今回の原因だった。ということで,データベースを再度バックアップ,新規追加して,WPをクイックインストールする際に「テーブルの接頭語 wpxxxxxx」と入力することで解決した。