Skip to content

Instantly share code, notes, and snippets.

@WordPress-Handbuch
Last active July 30, 2020 15:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save WordPress-Handbuch/9512c690eac055fc4c8a54ca9370072f to your computer and use it in GitHub Desktop.
Save WordPress-Handbuch/9512c690eac055fc4c8a54ca9370072f to your computer and use it in GitHub Desktop.
WordPress hook to activate a basic maintenance mode showing a message for everybody but the administrator
function wh_maintenance_mode() {
if ( !is_user_logged_in() || !current_user_can('administrator') ) {
wp_die( 'Dritte Variante einer Wartungsseite', 'Wartung!', array( 'response' => '503'));
}
}
add_action( 'get_header', 'wh_maintenance_mode' );
@get-command
Copy link

Hallo, ich bin ein Besitzer von dem WP Buch und arbeite mit gerade in die Thematik ein. Diesen Code verstehe ich aber nicht. Wo und wann wird der maintenance mode aktiviert? Ich sehe eine Funktion, die aufgerufen wird nach entsprechenden Kriterien (btw: auf der Seite 838 steht "...und sind eingetragener Administrator der Site; das Doppelt-Pipe ist OR und nicht AND) erfüllt sind.

@WordPress-Handbuch
Copy link
Author

Hallo, ich bin ein Besitzer von dem WP Buch und arbeite mit gerade in die Thematik ein. Diesen Code verstehe ich aber nicht. Wo und wann wird der maintenance mode aktiviert? Ich sehe eine Funktion, die aufgerufen wird nach entsprechenden Kriterien (btw: auf der Seite 838 steht "...und sind eingetragener Administrator der Site; das Doppelt-Pipe ist OR und nicht AND) erfüllt sind.

Hallo get-command,
diese Wartungsmechanik wird aktiv, sobald der Header einer Seite geladen wird. Das ist eine übliche Stelle, um etwaige Weiterleitungsmechanismen mit HTTP-Rückmeldungen zu integrieren. Die Implementierung erfolgt über einen WordPress-typischen Event-Mechanismus: Hooks (siehe Kasten Seite 836/837). Der Funktionsaufruf erfolgt, sobald der get_header-Event ausgelöst wird. Die if-Bedingung stellt sicher, dass die Wartungsmeldung nur für nicht eingeloggte Besucher erscheint, so dass man als Admin weiter an der Site arbeiten kann.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment