WordPressではデータベースを利用して記事などのデータを管理しています。
もし、データベースサーバにつながらない場合はエラーページが表示されるのですが、初期状態はとても簡単なもの。

閲覧者に対する配慮は一切ありません。(笑)
ということで、これをオリジナルなものにしてみようということです。
どうするかというと、とても簡単!wp-content/の下にdb-error.phpというファイルを作り、そこにページの内容を書けばいいだけです。
そうすると、データベースエラー時は勝手にdb-error.phpが読み込まれ、下の画像みたいに変わります。簡単。

もしかしたら、キャッシュさせないようにとかHTTPヘッダをいじったほうがいいかもしれません。
あと、WordPress独自の関数が使えるのか否か、使えたとしてどこまで使えるのか、そのあたりはよくわかりません。いろいろ試してみてください。
参考までに、エラーページのHTMLソース。
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>データベースエラー | infinity number</title>
<link rel="stylesheet" href="/error/style.css" type="text/css" />
</head>
<body>
<div style="margin: 15px auto 0; padding: 5px 25px 10px; width: 600px; border: 1px black solid;">
<h1 style="border-bottom: 1px gray solid;">データベースエラー</h1>
<p>ただいまサーバのデータベースに接続できないようです。<br />
数分後に再度リロードしてみてください。</p>
<p>ご不便おかけしますが、よろしくお願いいたします。</p>
<p style="text-align: right;"><a href="http://www.infinity-number.net/">infinity number</a></p>
</div>
</body>
</html>
こんな感じに書いてみました。

(3 投票, 平均値/最大値: 4.33 / 5)
(4.00 / 5)

4コメント
僕も使ってますね。
ちなみに、僕の場合は
<a href="http://www.google.com/search?q=cache:kota-kota.net&hl=ja”>http://www.google.com/search?q=cache:kota-kota.net
と入れて、Googleのキャッシュページにアクセスできるようにしています。
あと、header関係は
header( ‘HTTP/1.1 503 Service Unavailable’ );
header( ‘Cache-Control: no-cache, must-revalidate, max-age=0′ );
header( ‘Pragma: no-cache’ );
としておけば大丈夫だと思います。
To:kotaさん
コメントありがとうございます。メッセでいろいろお話しましたが、一応こちらにも。(笑)
ヘッダは一応、そんな感じで入れてあるのですが、Googleのキャッシュは全く思いつきませんでした。ぜひ参考にしたいと思います。
コメントフォームの不具合についてはそのうち直します。(汗)
初めまして。
貴重な情報ありがとうございます。
私は新しい物好きなのでMySQLのバージョンアップを頻繁にしているので、この画面を表示させてしまうことが多いんですよね。
閲覧者の方にこんな殺風景なものを見せてしまうのもいやだなーと思っていたところこの記事を見つけました。
To:BATISTAさん
コメントありがとうございます。このブログがお役に立てたようでなによりです。
オリジナルなデータベースエラーページの作成方法を紹介しているページは少ないようなので、ぜひ広めてください!
1トラックバック
投稿日時: 2009/9/16 水曜日 2:37
[...] の報告みたいなエラーページじゃお客さんに失礼ですよね。だったら変えてしまえばいいんです。 元ネタはここから。 オリジナルのWordPressデータベースエラーページを作る | infinity number [...]