Voulez-vous mettre la section d'administration de votre WordPress en mode maintenance sans affecter le site web ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour activer le mode maintenance uniquement pour l'administrateur dans WordPress.
Instructions :
Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :
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');
N'oubliez pas de changer ADMIN_NAME dans le code ci-dessus par le nom d'utilisateur de votre compte administrateur WordPress.
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière d'ajouter correctement des extraits de code dans WordPress, afin de ne pas endommager accidentellement votre site.
Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 50+ meilleurs thèmes WordPress réactifs et comment créer un formulaire d'inscription personnalisé pour les utilisateurs dans WordPress.
Merci Debjit Saha pour le super extrait !
Je reçois l'erreur suivante lorsque je le colle dans mon 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
Après avoir modifié l'extrait comme suit, cela a fonctionné sans problème.
function admin_maintenace_mode() { global $current_user; get_currentuserinfo(); if($current_user->user_login != ‘ADMIN_NAME’) { .updated{margin:30px !important;} wp_die('Mode maintenance : Nous effectuons actuellement des mises à jour. Tout sera bientôt en ligne.'); } } add_action(‘admin_head’, ‘admin_maintenace_mode’);
Cordialement,
Michael Hochleitner
Cela aurait dû être basé sur le rôle de l'utilisateur, alors cela aurait été plus utilisable.
Vous pourriez vérifier la valeur de $current_user->user_level dans ce cas. Consultez cet extrait ici : https://www.isitwp.com/redirect-user-after-login/
Merci Kevin. Je suis dans une situation similaire à celle de squarecandy. Je ne veux pas que les gens modifient leur site pendant que je les migre vers ma société d'hébergement web.
Cool – merci.
Cela a fonctionné pour moi – je suis en train de passer d'un serveur à un autre et je ne voulais pas que les utilisateurs modifient leurs sites entre le moment où j'ai commencé à tout copier et le moment où j'ai basculé vers le nouveau serveur.