WordPressで簡易的なメンテナンス画面を表示する方法です。
時間に余裕があればしっかりデザインされたものを表示した方が良いと思いますが、緊急時や見栄えが大きく崩れてしまったなどの理由で手っ取り早くメンテナンス画面を表示させたいときに便利です。
イメージのような簡易的なメンテナンス画面を表示させることができ、実装には下記をfunctions.php
に記述します。
functions.php
function quick_maintenance_mode() {
if ( ! current_user_can( 'edit_themes' ) || ! is_user_logged_in() ) {
wp_die( '<h1>只今メンテナンス中です</h1><p>申し訳ありませんが、暫くしてから再度アクセスをお願いします。<br />お急ぎの場合は、お手数ですが <a href="mailto:xxx@example.com">xxx@example.com</a> までご連絡ください。</p>' ); }
}
add_action( 'get_header', 'quick_maintenance_mode' );
記述後に表示を確認すると、特定の権限を持つユーザーやログインしているユーザーについてはそのままサイトを閲覧することができますが、それ以外の場合には先ほどの画像のようなメンテナンス画面が表示されるようになります。
表示される文言を変更したい場合は、ハイライト表示しているwp_die()
内のテキストを任意で変更してください。
ちなみに、上記をそのまま使用してメンテナンス画面を表示した際はタイトルが「サイト名 > エラー」という形で表示されます。
これが嫌な場合は、先ほどの記述でもハイライト表示したwp_die()
の第2引数へ下記のように追記することで任意のタイトルに変更できます。
functions.php
function quick_maintenance_mode() {
if ( ! current_user_can( 'edit_themes' ) || ! is_user_logged_in() ) {
wp_die( '<h1>只今メンテナンス中です</h1><p>申し訳ありませんが...</p>', 'Maintenance | website name' ); }
}
add_action( 'get_header', 'quick_maintenance_mode' );
プラグインを使って簡単にメンテナンス画面を表示させる方法もありますが、本当に簡易的なものでよければプラグインのインストールや有効化の手間もなく、不要になったらこの記述を消すだけのこちらの方が手っ取り早くて良いかなと思いました。