// Shortcode: [cadastro_cliente_woocommerce] add_shortcode('cadastro_cliente_woocommerce', 'mappnet_cadastro_cliente_woocommerce'); function mappnet_cadastro_cliente_woocommerce() { // Se já estiver logado if (is_user_logged_in()) { return '

Você já está conectado à sua conta.

'; } $mensagem = ''; // Processa o formulário if ( isset($_POST['mappnet_cadastro_nonce']) && wp_verify_nonce( sanitize_text_field(wp_unslash($_POST['mappnet_cadastro_nonce'])), 'mappnet_cadastro_cliente' ) ) { $nome = isset($_POST['nome']) ? sanitize_text_field(wp_unslash($_POST['nome'])) : ''; $sobrenome = isset($_POST['sobrenome']) ? sanitize_text_field(wp_unslash($_POST['sobrenome'])) : ''; $email = isset($_POST['email']) ? sanitize_email(wp_unslash($_POST['email'])) : ''; $senha = isset($_POST['senha']) ? $_POST['senha'] : ''; $erros = array(); if (empty($nome)) { $erros[] = 'Informe seu nome.'; } if (empty($email) || !is_email($email)) { $erros[] = 'Informe um e-mail válido.'; } if (email_exists($email)) { $erros[] = 'Já existe uma conta cadastrada com este e-mail.'; } if (strlen($senha) < 6) { $erros[] = 'A senha precisa ter pelo menos 6 caracteres.'; } if (empty($erros)) { $usuario_id = wc_create_new_customer( $email, '', $senha, array( 'first_name' => $nome, 'last_name' => $sobrenome, ) ); if (is_wp_error($usuario_id)) { $mensagem = '
' . esc_html($usuario_id->get_error_message()) . '
'; } else { update_user_meta($usuario_id, 'first_name', $nome); update_user_meta($usuario_id, 'last_name', $sobrenome); // Faz login automaticamente wc_set_customer_auth_cookie($usuario_id); // Redireciona para Minha Conta wp_safe_redirect(wc_get_page_permalink('myaccount')); exit; } } else { $mensagem = '
'; foreach ($erros as $erro) { $mensagem .= '

' . esc_html($erro) . '

'; } $mensagem .= '
'; } } ob_start(); echo $mensagem; ?>