Deseja colocar a seção de administração do WordPress em modo de manutenção sem afetar o site? Embora provavelmente exista um plug-in para isso, criamos um trecho de código rápido que você pode usar para ativar o modo de manutenção somente para o administrador no WordPress.
Instruções:
Tudo o que você precisa fazer é adicionar esse código ao arquivo functions.php do seu tema ou em um plug-in específico do 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ão se esqueça de alterar o ADMIN_NAME no código acima para o nome de usuário da sua conta de administrador do WordPress.
Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como adicionar corretamente trechos de código no WordPress para não danificar acidentalmente seu site.
Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: 50+ melhores temas responsivos para WordPress e como criar um formulário de registro de usuário personalizado no WordPress.
Thank you Debjit Saha for the great snippet!
I receive the following error when I paste it in my 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
After changing the snippet to the following it worked without problems.
function admin_maintenace_mode() {
global $current_user;
get_currentuserinfo();
if($current_user->user_login != ‘ADMIN_NAME’) { ?>
.updated{margin:30px !important;} <?php
wp_die('Maintenance mode: We are currently making updates. Everything will be online shortly.’);
}
}
add_action(‘admin_head’, ‘admin_maintenace_mode’);
Best,
Michael Hochleitner
This should have been made user role based then it would have been more usable
You could check the $current_user->user_level value in this case. Check out this snippet here: https://www.isitwp.com/redirect-user-after-login/
Thanks Kevin. I’m in a similar situation as squarecandy. I don’t want people modifying their site while I’m migrating them to my web-hosting company.
Cool – thanks.
This worked for me – I’m transitioning between servers and I didn’t want users editing their sites between when I started to copy everything over and when I made the switch to the new server.