WordPress : Mode maintenance sans plugin

L’idée aujourd’hui c’est de partager un peu mon expérience en vous livrant quelques morceaux de code afin de mettre en place un mode maintenance. Je fais partie de ceux qui aiment WordPress dans son plus simple appareil, à savoir léger sans ses 50 extensions trouvées sur topito. Bienvenue chez les puristes ?

Je pars du principe que vous savez tous coder à minima, que vous maîtriser votre environnement, les fonctions, les hooks, les actions… Au pire, vous pouvez copier coller les lignes de code dans le fichier indiqué, ça restera entre nous.

By the way, l’image à la une n’a absolument aucun rapport avec notre mini intervention, je l’ai simplement trouvé stylée.

 

Création de la fonction

Tout se passe dans le fichier functions.php que vous trouverez à la racine de votre thème. Il n’y aura qu’une seule étape.

Dans l’ordre :

  1. On vérifie si l’utilisateur est connecté et s’il a les droits administrateurs (de manière à ce qu’un abonné simple ne puisse accéder à votre site pendant sa période maintenance)
  2. On lui affiche le site s’il rempli nos deux conditions ou bien, on lui laisse un petit mot doux.
  3. On indique à WordPress qu’il doit executer la fonction à l’appel du header par exemple.

// Fonction Mode maintenance
function mode_maintenance() {
if( !is_user_logged_in() || !current_user_can('administrator')) {
die('Notre site est actuellement en maintenance.');
}
}
add_action('get_header', 'mode_maintenance');

On obtient alors quelque chose comme ceci :

Si vous êtes connectés, votre site s’affichera. Le wp-admin demeure bien sûr toujours accessible !