Formulário de Contado que retorna um CSV
-
Olá amigos!
Preciso implementar a seguinte funcionalidade em um site:
O usuário acessa a página de contato do site e preenche o formulário e clica em enviar.
O destinatário do formulário além de receber os dados dos campos que foram preenchidos no formulário no corpo do e-mail, recebe também um arquivo no formato CSV com todos os campos do formulário, para que tenha a praticidade de pegar esse arquivo que recebeu e colocar os dados numa planilha de excel.
No wordpress eu utilizei o contact form 7 pra criar o formulário.
Sabem dizer se tem algum plugin que implementa essa funcionalidade?
Ou se não tiver um plugin, um código PHP pra executar essa função.Desde já agradeço a ajuda de todos!
-
Boa tarde.
Ninguém respondeu o meu tópico, mas com a ajuda do chat GPT eu consegui criar o código PHP que está executando perfeitamente essa função.
Pro caso de alguém precisar dessa funcionalidade, segue abaixo o código PHP criado:
add_filter(‘wpcf7_mail_components’, function($components, $contact_form) {
// ID do formulário do Contact Form 7 que queremos interceptar
$form_id = 123; // Substitua 123 pelo ID real do seu formulárioif ($contact_form->id() != $form_id) {
return $components;
}
// Pegando os dados do formulário
$submission = WPCF7_Submission::get_instance();
if (!$submission) {
return $components;
}
$posted_data = $submission->get_posted_data();
// Removendo o campo “departamento”
unset($posted_data[‘departamento’]);
// Criando o conteúdo do CSV
$csv_file = wp_upload_dir()[‘path’] . ‘/formulario_contato.csv’; // Caminho do arquivo
$csv_handle = fopen($csv_file, ‘w’);
// Cabeçalhos do CSV
fputcsv($csv_handle, array_keys($posted_data), ‘;’);
// Convertendo arrays para strings (separados por vírgula)
foreach ($posted_data as $key => $value) {
if (is_array($value)) {
$posted_data[$key] = implode(‘, ‘, $value);
}
}
// Dados do CSV
fputcsv($csv_handle, array_values($posted_data), ‘;’);
fclose($csv_handle);
// Anexa o CSV ao e-mail
$components[‘attachments’][] = $csv_file;
return $components;
}, 10, 2); -
Olá!
Que bom que conseguiu um código que atenda suas necessidades.
Como não há nenhum site em sua conta do WordPress.com com acesso a plugins, temas e códigos personalizados, o melhor local para este tipo de tópico é o fórum do WordPress.org.
- O tópico ‘Formulário de Contado que retorna um CSV’ está fechado para novas respostas.