'Por favor, preencha todos os campos do cadastro.')); } if (!is_email($email)) { wp_send_json_error(array('message' => 'E-mail profissional inválido.')); } // Se o médico/usuário já existir cadastrado com este e-mail no WordPress if (email_exists($email)) { $user = get_user_by('email', $email); // Atualiza os metadados do médico (Conselho e Estado) para garantir que estejam atualizados update_user_meta($user->ID, 'med_conselho', $conselho); update_user_meta($user->ID, 'med_estado', $estado); // Executa o login automático do médico já cadastrado wp_clear_auth_cookie(); wp_set_current_user($user->ID); wp_set_auth_cookie($user->ID); wp_send_json_success(array( 'message' => 'Acesso liberado! Bem-vindo de volta, Dr(a). ' . esc_html($nome) . '.', 'user_id' => $user->ID )); } // Criar um usuário único (Username amigável a partir do e-mail) $username_base = sanitize_title_with_dashes(current(explode('@', $email))); $username = $username_base; $count = 1; // Garante que o username seja completamente exclusivo no WordPress while (username_exists($username)) { $username = $username_base . '-' . $count; $count++; } // Gera uma senha automática segura e cria o usuário $password = wp_generate_password(); $user_id = wp_create_user($username, $password, $email); if (is_wp_error($user_id)) { wp_send_json_error(array('message' => $user_id->get_error_message())); } // Salva o Nome Completo do Médico wp_update_user_profile_data(array( 'ID' => $user_id, 'first_name' => $nome, )); // Salva as informações de Conselho e Estado no User Meta do WordPress // Estas informações ficarão visíveis ao editar o usuário no Painel Administrativo do WordPress update_user_meta($user_id, 'med_conselho', $conselho); update_user_meta($user_id, 'med_estado', $estado); // Opcional: Define a função do usuário para "subscriber" (Assinante padrão) $user_obj = new WP_User($user_id); $user_obj->set_role('subscriber'); // Executa o login automático no WordPress wp_clear_auth_cookie(); wp_set_current_user($user_id); wp_set_auth_cookie($user_id); wp_send_json_success(array( 'message' => 'Cadastro validado! Acesso liberado, Dr(a). ' . esc_html($nome) . '.', 'user_id' => $user_id )); } /** * EXCLUSIVO: EXIBIR CONSELHO E ESTADO NA TELA DE DETALHES DO USUÁRIO NO WP ADMIN * * Este trecho adiciona os campos personalizados (Conselho e Estado) na página de edição do * usuário dentro do painel do WordPress, facilitando para você visualizar os dados do médico. */ add_action('show_user_profile', 'medviscum_exibir_campos_customizados_usuario'); add_action('edit_user_profile', 'medviscum_exibir_campos_customizados_usuario'); function medviscum_exibir_campos_customizados_usuario($user) { $conselho = get_user_meta($user->ID, 'med_conselho', true); $estado = get_user_meta($user->ID, 'med_estado', true); ?>

Informações Profissionais (Portal MedViscum)


Número de registro profissional fornecido durante a liberação do portal de vídeos.

Estado de inscrição do conselho médico deste prescritor.

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!