X

Modo de Manutenção Apenas para Administradores

Snippets por IsItWP

Você quer colocar a seção de administração do seu WordPress em modo de manutenção sem afetar o site? Embora provavelmente exista um plugin para isso, criamos um pequeno trecho de código que você pode usar para ativar o modo de manutenção apenas para administradores no WordPress.

Instruções:

Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin 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 sua primeira vez adicionando snippets de código no WordPress, consulte nosso guia sobre como adicionar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: Mais de 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 April 29, 2020 at 11:12 am

    Obrigado Debjit Saha pelo ótimo trecho!

    Recebo o seguinte erro quando o colo no meu 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

    Depois de alterar o trecho para o seguinte, funcionou sem problemas.

    function admin_maintenace_mode() { global $current_user; get_currentuserinfo(); if($current_user->user_login != ‘ADMIN_NAME’) { .updated{margin:30px !important;} wp_die('Modo de manutenção: Estamos fazendo atualizações. Tudo estará online em breve.'); } } add_action(‘admin_head’, ‘admin_maintenace_mode’);

    Atenciosamente,
    Michael Hochleitner

  2. Isso deveria ter sido baseado em função de usuário, então teria sido mais utilizável.

    1. Você pode verificar o valor de $current_user->user_level neste caso. Confira este trecho aqui: https://www.isitwp.com/redirect-user-after-login/

  3. wp-securehosting.com September 18, 2017 at 6:40 pm

    Obrigado Kevin. Estou em uma situação semelhante à do squareCandy. Não quero que as pessoas modifiquem seus sites enquanto eu os migro para minha empresa de hospedagem web.

  4. Legal – obrigado.
    Isso funcionou para mim – estou fazendo a transição entre servidores e não queria que os usuários editassem seus sites entre o momento em que comecei a copiar tudo e quando fiz a mudança para o novo servidor.

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente 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.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!