Wie kann man WordPress-Seiten während Updates begrenzen?

Ich werde Verbesserungen an Design und Inhalt meiner WordPress-Seite vornehmen. Während dieser Zeit möchte ich nur die Homepage zur Verfügung stellen. Gibt es eine gute Möglichkeit, dies zu sperren (durch ein Plug-in, etc.).

Ich habe Probleme, Antworten von Google zu finden.

Danke, Jason

Solutions Collecting From Web of "Wie kann man WordPress-Seiten während Updates begrenzen?"

Hier ist ein kleiner Code-Schnipsel, den ich für meine Seite verwendet habe, als sie im Aufbau war

< ?php /* ROUGH METHOD OF DENY ACCESS */ $underconstruct = array(121, 46, 124, 97); if(!is_user_logged_in() && !in_array(get_the_ID(), $underconstruct)) { wp_redirect(get_permalink(121)); exit(); } ?> 

Ich lege das oben in meiner header.php .
Das Array $ underconstruct ist die Seite / Post-IDs, die alle nicht angemeldeten Benutzer sehen können. Wenn sie nicht eingeloggt sind und sich nicht auf einer der Seiten befinden, die sie sein sollten, werden sie umgeleitet. Wenn der Benutzer angemeldet ist, wird alles wie gewohnt ausgeführt.

Da es sich bei WordPress um eine dynamische Webanwendung handelt, ist es schwierig, Ihre Startseite verfügbar zu haben, wenn alles andere aktualisiert wird.

Jedes Mal, wenn Sie ein Update für ein Plug-in oder einen WordPress-Core ausführen, wird der Wartungsmodus ausgetriggers. Dies zeigt die Seite ‘Kurzzeitig nicht verfügbar’ an.

Selbst wenn Sie den obigen Ansatz verwenden, wird ein Besucher die Standardwartungsseite sehen, wenn er versucht, die Site zu besuchen, während das Update-Skript ausgeführt wird.

Der beste Ansatz ist meiner Meinung nach, eine eigene Maintenance.php-Datei zu erstellen, und das ist besser als eine statische Seite.

.. NB Ich zeige nur einen Screenshot meiner Wartungsseite, um Ihnen eine Vorstellung davon zu geben, was erreicht werden könnte. Bildbeschreibung hier eingeben

Sie können meine Maintenance.php in Aktion sehen

Wartungsmodus Um WordPress in den Wartungsmodus zu versetzen, erstellen Sie eine Datei namens .maintenance im Ordner /wordpress .

Ich habe immer meine als aaaa.maintenance damit ich es finden kann.

Wartungsmodus – eingeloggte Benutzer erlaubt.
Mit diesem Schritt können eingeloggte Benutzer auf WP-admin zugreifen und das Frontend besuchen.

Bearbeiten Sie die aaaa.maintenance und fügen Sie diesen Code ein:

 < ?php function is_user_logged_in() { $loggedin = false; foreach ( (array) $_COOKIE as $cookie => $value ) { if ( stristr($cookie, 'wordpress_logged_in_') ) $loggedin = true; } return $loggedin; } if ( ! stristr($_SERVER['REQUEST_URI'], '/wp-admin') && ! stristr($_SERVER['REQUEST_URI'], '/wp-login.php') && ! is_user_logged_in() ) $upgrading = time(); ?> 

Erstellen Sie Ihre eigene Maintenance.php
Erstellen Sie unter wp-content eine Datei namens maintenance.php

Öffnen Sie die Datei und fügen Sie diesen Code hinzu:

 < ?php $protocol = $_SERVER["SERVER_PROTOCOL"]; if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol ) $protocol = 'HTTP/1.0'; header( "$protocol 503 Service Unavailable", true, 503 ); header( 'Content-Type: text/html; charset=utf-8' ); ?> < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">      < ?php die(); ?> 

Stellen Sie sicher, dass der untere Teil der Datei den < ?php die(); ?> < ?php die(); ?>

Jetzt haben Sie Ihre eigene statische Seite, die Sie jederzeit aufrufen können, wenn Sie aaaa.maintenance zu .maintenance umbenennen

und Sie können /wp-admin besuchen, auch wenn Sie nicht eingeloggt sind.