In genere per attivare la modalità manutenzione in WordPress si preferisce usare dei plugin che sostituiscono i contenuti del sito. In realtà ciò non è strettamente necessario, in quanto se la manutenzione riguarda l'aggiornamento del layout di un tema non ha senso nasconderne la struttura sostituendola interamente. In casi come questo possiamo utilizzare i soli CSS.
Dopo aver impostato un'opzione specifica nel pannello di controllo del nostro tema, possiamo richiamare un file CSS se la modalità manutenzione è attiva. Gli stili avranno effetto su tutti
i visitatori ad eccezione dell'amministratore. Ecco il codice per il file header.php
:
<?php
if( get_option( 'my-maintanance-mode' ) == 'yes' ) {
global $current_user;
if( !is_user_logged_in() || $current_user->roles[0] !== 'administrator' ) {
?>
<link rel="stylesheet" href="<?php echo get_template_directory_uri() . '/css/maintanance.css';?>" type="text/css" media="all" />
<?php
}
}
?>
Nel CSS dobbiamo nascondere il contenitore principale del sito e mostrare un messaggio di avviso:
#site {
display: none;
}
body {
background: url(../images/men-at-work.png) no-repeat;
background-size: cover;
}
body:before {
content: 'Manutenzione';
display: block;
margin: 25% 0;
text-align: center;
font-size: 3em;
}
Come si può notare si tratta di una soluzione molto semplice da implementare.