Aprenda a restringir o login de editores no WordPress por horário.

Você já precisou limitar o horário de acesso de alguns usuários em seu site WordPress?

Neste tutorial, vou te ensinar como restringir o login de editores (ou qualquer outro papel/role que você desejar) no WordPress para um determinado horário, garantindo mais segurança e controle sobre quem acessa seu site em horários específicos.


Essa função em WordPress verifica se o usuário que está tentando fazer login é um editor e se o horário atual está entre 9h e 14h, de segunda a sexta-feira. Se essas condições forem atendidas, o editor é automaticamente desconectado, redirecionado para a página inicial e o processo de login é encerrado. Você pode refinar essa funcionalidade e redirecionar para uma página contendo um aviso ou outro conteúdo.

No arquivo functions.php insira a função abaixo:

/**
 * Verifica se o papel do usuário está na lista de papéis restritos e se o horário atual está entre 9h e 14h, de segunda a sexta-feira.
 *
 * @return void
 */

function restringir_login_editor() {
    $usuario_atual = wp_get_current_user();

    if (in_array('editor', (array) $usuario_atual->roles)) {
        $horario_atual = current_time('H:i');
        $dia_semana = date('N');  // Obtém o número do dia da semana (1 para segunda, 2 para terça, etc.)

        // Se o horário estiver entre 9h e 14h e for um dia útil (segunda a sexta-feira)
        if ($horario_atual >= '09:00' && $horario_atual <= '14:00' && $dia_semana >= 1 && $dia_semana <= 5) {
            // Desloga o editor, redireciona para a página inicial e encerra o processo de login
            wp_logout();
            wp_redirect(home_url());
            exit;
        }
    }
}

// Adiciona a ação para verificar o horário e dia da semana no momento do login
add_action('wp_login', 'restringir_login_editor');

Com este simples tutorial, você aprendeu como restringir o login de editores no WordPress com base no horário atual. Essa funcionalidade pode ser útil para garantir que determinados usuários acessem o site apenas durante o horário desejado, aumentando a segurança e o controle sobre o acesso ao seu site WordPress.

Se preferir não usar código, existe um plugin que realiza a mesma ação:

Deixe uma resposta