FormSync Excel WP
Plugin WordPress para pesquisas de segurança do trabalho — criador de formulários dinâmicos, armazenamento em JSON e sincronização com planilha Excel
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/aalveshost/rene-surveys-plugin/archive/refs/heads/main.zipFormSync Excel WP – Plugin WordPress (Sistema de Pesquisas Dinâmicas)
Estrutura de Arquivos
survey-plugin/
├── formsync-excel-wp.php # Plugin principal
├── admin/
│ ├── builder.php # HTML da interface de criação de questionários (Admin)
│ └── builder.js # Lógica JS do Builder
├── public/
│ ├── script.js # Renderização do formulário no front-end + AJAX
│ └── style.css # CSS premium Dark Mode
└── includes/
└── excel-sync.php # Cron Job + placeholder de integração Excel
1. Instalação
- Copie a pasta
survey-plugin/para dentro dewp-content/plugins/. - Acesse WP Admin > Plugins e ative FormSync Excel WP.
2. CPTs Necessários no JetEngine
Você precisa criar dois CPTs manualmente no JetEngine:
CPT 1: questionarios
| Meta Field | Tipo | Descrição |
|---|---|---|
page_slug |
Text | Slug da página que usará este questionário |
questions_data |
Textarea / Text | JSON gerado pelo Builder |
CPT 2: respostas_survey
| Meta Field | Tipo | Descrição |
|---|---|---|
survey_answers |
Textarea / Text | JSON com as respostas do usuário |
excel_sync_status |
Text | pending, synced, ou failed |
excel_sync_date |
Date/Text | Data da sincronização |
3. Como Criar um Questionário (Fluxo do Administrador)
- Acesse WP Admin > Survey Builder.
- Informe o Slug da Página (ex:
vinciparassp.seg.br/pesquisas/vinci/). - Clique em + Adicionar Questão para cada pergunta.
- Para cada questão, escolha o tipo:
- Múltipla Escolha – exibe botões de rádio com as opções
- Descritiva – exibe um campo de texto livre
- Clique em Gerar JSON e Salvar no CPT.
- O plugin cria (ou atualiza) automaticamente um post no CPT
questionarioscom o JSON.
4. Como Exibir o Formulário (Shortcode)
Na página WordPress (ex: ssp.seg.br/pesquisas/vinci/), insira o shortcode:
[render_survey page_slug="vinci"]
Ou simplesmente
[render_survey]— o plugin irá usar automaticamente a slug da página atual.
5. Fluxo de Resposta do Usuário
Quando o usuário preencher e enviar o formulário:
- O JS envia via AJAX as respostas para o endpoint
rene_submit_survey. - O PHP cria um post no CPT
respostas_surveycom o título:#vinci - #1234 - O meta
survey_answersfica salvo assim:{ "q1": "Entrevias", "q2": "Acima de 1 até 3 anos", "q31": "Sim, por cumprir meta de segurança", "q32": "Aqui o colaborador escreveu sua sugestão..." }
6. Sincronização com Excel (Cron)
O Cron roda a cada hora e processa todos os posts de resposta com status pending.
Integrando seu script:
Abra includes/excel-sync.php e edite a função rene_custom_excel_export_handler:
function rene_custom_excel_export_handler($post_id, $slug, $answers) {
// Exemplo: enviar os dados para um script PHP externo via cURL
$endpoint = 'https://ssp.seg.br/scripts/push-excel.php';
$response = wp_remote_post($endpoint, array(
'body' => array(
'post_id' => $post_id,
'empresa' => strtoupper($slug),
'respostas' => json_encode($answers)
)
));
return !is_wp_error($response);
}
7. Gatilho Manual (Teste)
Para forçar o Cron sem esperar uma hora, você pode testar com:
// Cole temporariamente no functions.php do tema
add_action('init', function() {
if (isset($_GET['force_sync'])) {
rene_run_excel_sync();
}
});
// Acesse: seusite.com/?force_sync=1