WordPress:簡易的なメンテナンス画面を表示する方法

WordPress:簡易的なメンテナンス画面を表示する方法

備忘録。
タイトル通り、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' );

記述後に表示を確認すると、特定の権限を持つユーザーやログインしているユーザーについてはそのままサイトを閲覧することができますが、それ以外の場合には先ほどの画像のようなメンテナンス画面が表示されるようになります。
表示される文言を変更したい場合は、赤字部分を任意で変更してください。

ちなみに、上記をそのまま使用してメンテナンス画面を表示した際はタイトルが「サイト名 > エラー」という形で表示されます。
これが嫌な場合は、先ほどの記述へ下記のハイライト部分のように追記してあげれば任意のタイトルに変更できます。

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' );

以前書いた「WordPress:テーマやプラグインのテスト・開発時に便利なプラグイン」のようにプラグインを使用して簡単にメンテナンス画面を表示させる方法もありますが、本当に簡易的なものでよければプラグインのインストールや有効化の手間もなく、不要になったらこの記述を消すだけのこちらの方が手っ取り早くて良いかなと思いました。

この方法は以下で紹介されていたものです。

Close the search window,
please press close button or esc key.