Vuoi mettere la sezione di amministrazione di WordPress in modalità manutenzione senza influenzare il sito web? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per abilitare la modalità di manutenzione solo per l'amministratore in WordPress.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
function admin_maintenace_mode() {
global $current_user;
get_currentuserinfo();
if($current_user->user_login != 'ADMIN_NAME') { ?>
<style> .updated{margin:30px !important;} </style><?
wp_die('<div id="message" class="updated"><p><b>Maintenance mode:</b> We are currently making updates. Everything will be online shortly.</p></div>');
}
}
add_action('admin_head', 'admin_maintenace_mode');
Non dimenticare di cambiare ADMIN_NAME nel codice sopra con il nome utente del tuo account amministratore di WordPress.
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la possibilità di consultare i nostri altri articoli sul sito come: I 50+ migliori temi WordPress responsive e come creare un modulo di registrazione utente personalizzato in WordPress.
Grazie Debjit Saha per il fantastico snippet!
Ricevo il seguente errore quando lo incollo nel mio plugin.
2020/04/29 13:08:35 [error] 1496#1496: *8 FastCGI sent in stderr: “PHP message: PHP ParseError: syntax error, unexpected end of file in /my/project/path/wp-content/plugins/a-plugin/a-plugin.php on line 55
Dopo aver modificato lo snippet nel seguente modo ha funzionato senza problemi.
function admin_maintenace_mode() {
global $current_user;
get_currentuserinfo();
if($current_user->user_login != ‘ADMIN_NAME’) { ?>
.updated{margin:30px !important;} <?php
wp_die('Modalità manutenzione: Stiamo attualmente apportando aggiornamenti. Tutto sarà online a breve.');
}
}
add_action(‘admin_head’, ‘admin_maintenace_mode’);
Cordiali saluti,
Michael Hochleitner
Questo avrebbe dovuto essere basato sul ruolo utente, quindi sarebbe stato più utilizzabile
In questo caso potresti controllare il valore $current_user->user_level. Dai un'occhiata a questo snippet qui: https://www.isitwp.com/redirect-user-after-login/
Grazie Kevin. Mi trovo in una situazione simile a squarecandy. Non voglio che le persone modifichino il loro sito mentre lo sto migrando alla mia società di web hosting.
Fantastico – grazie.
Questo ha funzionato per me – sto passando da un server all'altro e non volevo che gli utenti modificassero i loro siti tra il momento in cui ho iniziato a copiare tutto e il momento in cui ho effettuato il passaggio al nuovo server.