テーマフォルダからカスタムメンテナンスページを追加する方法はありますか?
アクティブ化メンテナンスモードのコードはありますが、スタイルを取得できません。
function activate_maintenance_mode() {
if ( !(current_user_can( 'administrator' ) || current_user_can( 'super admin' ))) {
wp_die(
'<h1>Website Under Maintenance</h1><p>Hi, our Website is currently undergoing scheduled maintenance.
Please check back very soon.<br /><strong>Sorry for the inconvenience!</strong></p>', 'Maintenance Mode');
}
}
add_action('get_header', 'activate_maintenance_mode');
ニコラさん、よろしくお願いします。
WordPressがメンテナンスモードに入ると、メンテナンスの実行中に.maintenance
という名前のファイルがルートディレクトリに追加され、その後削除されます。テーマのfunctions.php
内にこのファイルをチェックしてテーマからカスタムメンテナンスページをロードする関数を書くことができます。
if ( ! function_exists( 'wpse84987_maintenance_mode' ) ) {
function wpse84987_maintenance_mode() {
if ( file_exists( ABSPATH . '.maintenance' ) ) {
include_once get_stylesheet_directory() . '/maintenance.php';
die();
}
}
add_action( 'wp', 'wpse84987_maintenance_mode' );
}
あなたのテーマフォルダの中のmaintenance.php
ページにあなたのメンテナンスコンテンツを入れてください、そして、あなたはあなたが望むけれどもそれをスタイルするようにあなたはすべてセットされています。
wp_die
関数を使用すると、灰色の背景に標準の白いボックスが表示されます。この方法で、他のテーマページと同じようにメンテナンスページをスタイルすることができます。
UPDATE:ドロップインプラグインとしてmaintenance.php
ディレクトリにwp-content
を追加することで(またはWP_CONTENT_DIR
を指定した場所に)追加することで、テーマの外側でこれを行うこともできます。 WPが内側からメンテナンスモードをチェックするとき wp_maintenance()
そのファイルを探して、もしあればそれをロードするか、あるいはそれ自身をロードしますそうでなければ。サイトがメンテナンスモードになっていない場合、または10分以上サイトに入っている場合は、サイトが技術的にまだメンテナンスモードになっていても 'maintenance.php'はロードされません。 WordPress 4.6 では 'enable_maintenance_mode'フィルタ が導入されました。これはwp-cli
のようなツールでドロップインのチェックを強制するために(ab)使用することができます。メンテナンスファイルからCLIコマンドを実行してみましょう。