X

Modo de manutenção somente para o administrador

Snippets by IsItWP

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.

Comentários   Deixe uma resposta

  1. Michael Hochleitner abril 29, 2020 em 11:12 am

    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

  2. This should have been made user role based then it would have been more usable

    1. 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/

  3. wp-securehosting.com setembro 18, 2017 em 6:40 pm

    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.

  4. 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.

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!