Olá @alemones ! Você pode utilizar um plugin como opção:
https://wordpress.org/plugins/user-blocker/
Ou pode utilizar código para criar uma função de bloqueio. Aqui está um exemplo, sendo o papel do usuário “editor”:
/**
* Verifica se o papel do usuário é editor e se o horário atual está entre 9h e 14h, de segunda a sexta-feira.
*/
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');
Obrigado pela Resposta Pamela. O Plugin de LMS é o TUTOR e ele so cria dois perfis, estudante e professor apenas…Eu queria criar varios outros perfis de acordo com os funcionarios aqui da empresa…e fazer o bloquei dele em determinados dias e horarios..
Sendo assim, é possível criar outros perfis por meio de plugin:
https://br.wordpress.org/plugins/user-role-editor/
Ou você pode criar uma função para adicoinar esses usuários:
// Adiciona novos papéis de usuário
function adicionar_papeis_usuario() {
add_role('funcionario_tipo_1', 'Funcionário Tipo 1', array(
'read' => true,
));
add_role('funcionario_tipo_2', 'Funcionário Tipo 2', array(
'read' => true,
));
add_role('funcionario_tipo_3', 'Funcionário Tipo 3', array(
'read' => true,
));
}
add_action('init', 'adicionar_papeis_usuario');
// Remove as capacidades desnecessárias dos novos papéis
function ajustar_capacidades_papeis() {
$papeis = array('funcionario_tipo_1', 'funcionario_tipo_2', 'funcionario_tipo_3');
foreach ($papeis as $papel) {
$role = get_role($papel);
// Remove as capacidades indesejadas
$role->remove_cap('edit_posts');
$role->remove_cap('delete_posts');
// Adicione outras capacidades conforme necessário
// Adicione as capacidades padrão de assinante
$role->add_cap('read');
}
}
add_action('admin_init', 'ajustar_capacidades_papeis');
Este código adiciona três novos papéis de usuário (funcionario_tipo_1
, funcionario_tipo_2
e funcionario_tipo_3
) com a capacidade básica de leitura (read
). Também remove capacidades desnecessárias que os assinantes não precisam, como editar e excluir postagens. Agora você só precisa ajustar as capacidades de acordo com o seu caso.