Wenn WordPress in den Wartungsmodus wechselt, fügt es .maintenance
dem Stammverzeichnis eine Datei mit dem Namen hinzu , während die Wartung durchgeführt wird, und wird anschließend entfernt. Sie können eine Funktion in Ihr Thema schreiben functions.php
, die nach dieser Datei sucht und eine benutzerdefinierte Wartungsseite aus dem Thema lädt.
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' );
}
Fügen Sie Ihren Wartungsinhalt in die maintenance.php
Seite in Ihrem Themenordner ein, und Sie können ihn nach Belieben formatieren.
Wenn Sie die wp_die
Funktion verwenden, erhalten Sie das weiße Standardfeld auf grauem Hintergrund. Auf diese Weise können Sie Ihre Wartungsseite wie jede andere Themenseite gestalten.
UPDATE : Sie können dies auch außerhalb des Themas tun, indem Sie maintenance.php
das wp-content
Verzeichnis (oder wo immer Sie WP_CONTENT_DIR
darauf verweisen möchten) als Drop-In-Plugin hinzufügen . Wenn WP von innen nach dem Wartungsmodus wp_maintenance()
sucht, sucht es nach dieser Datei und lädt sie, falls vorhanden, oder lädt ihre eigene, wenn nicht. Wenn sich die Site nicht im Wartungsmodus befindet oder länger als 10 Minuten im Modus ist, wird 'wartung.php' nicht geladen, obwohl sich die Site technisch noch im Wartungsmodus befindet. WordPress 4.6 führt den Filter 'enable_maintenance_mode' ein , der von einem Tool (ab) verwendet werden kann wp-cli
, um die Prüfung für das Drop-In zu erzwingen, und mit dem Sie einen CLI-Befehl aus Ihrer Wartungsdatei ausführen können.