Configuração de plantão noturno no WordPress para desentupidora na capital
Como configurar plantão noturno no WordPress para desentupidoras na capital: redirecionamentos, formulários condicionais e automações de WhatsApp.
Mais de 68% das chamadas de emergência em desentupimento na capital paulista ocorrem entre 20h e 6h, segundo dados do setor. Um site que não adapta sua interface e fluxos de contato nesse intervalo perde leads qualificados para concorrentes que oferecem resposta imediata. A configuração de plantão noturno no WordPress não é apenas estética — é arquitetura de conversão.
O desafio técnico reside em sincronizar três camadas: o fuso horário do servidor, a lógica de exibição no frontend e o processamento de formulários no backend. Muitas implementações falham por confiar apenas em JavaScript do navegador, ignorando que o relógio do usuário pode estar dessincronizado. A solução robusta combina timezone configurado no core do WordPress, shortcodes PHP para conteúdo dinâmico e hooks de formulários para roteamento condicional de leads.
Este guia detalha a implementação completa para uma desentupidora que atua na capital, cobrindo desde a configuração de timezone até a automação de WhatsApp com mensagens contextualizadas. O código apresentado funciona em instalações padrão, sem depender de page builders específicos.
Configuração de fuso horário e base temporal
O ponto de partida é garantir que o WordPress e o servidor compartilhem o mesmo fuso. Em Configurações > Geral, defina “Fuso horário” como America/Sao_Paulo. No arquivo wp-config.php, adicione a constante para forçar o PHP:
define('WP_TIMEZONE_STRING', 'America/Sao_Paulo');
No servidor, verifique date.timezone no php.ini ou via ini_set('date.timezone', 'America/Sao_Paulo') no functions.php. Use wp_date() em todo código PHP — ela respeita o fuso do WP, diferentemente de date() nativa. Para testar, crie um shortcode temporário:
add_shortcode('debug_horario', function() {
return 'Agora no WP: ' . wp_date('H:i:s T') . ' | Servidor: ' . date('H:i:s T');
});
Insira [debug_horario] em página privada e confira se ambos coincidem. Essa validação evita bugs sazonais de horário de verão, mesmo que o Brasil não adote mais a mudança — servidores mal configurados ainda aplicam offsets antigos.
Shortcode de status de plantão dinâmico
Crie um shortcode que retorne HTML diferente conforme o horário. No functions.php ou plugin de snippets:
add_shortcode('status_plantao', function() {
$hora = (int) wp_date('G'); // 0-23
$plantao_inicio = 20; // 20h
$plantao_fim = 6; // 6h
$em_plantao = ($hora >= $plantao_inicio || $hora < $plantao_fim);
if ($em_plantao) {
return '<div class="plantao-ativo">
<strong>🌙 Plantão 24h Ativo</strong><br>
Atendimento de emergência via WhatsApp.
</div>';
}
return '<div class="expediente-normal">
<strong>☀️ Expediente Normal</strong><br>
Segunda a sexta, 8h às 18h.
</div>';
});
Estilos CSS no tema ou Customizer:
.plantao-ativo { background: #1a1a2e; color: #00d4aa; padding: 1rem; border-radius: 8px; border: 2px solid #00d4aa; }
.expediente-normal { background: #e8f5e9; color: #2e7d32; padding: 1rem; border-radius: 8px; border: 1px solid #c8e6c9; }
Use [status_plantao] no cabeçalho, rodapé ou banner superior via bloco de shortcode no editor de blocos. O shortcode é processado no servidor, logo, reflete o horário real do fuso configurado — independente do relógio do visitante.
Formulários condicionais com Contact Form 7
O Contact Form 7 (CF7) aceita campos condicionais via plugin Conditional Fields for Contact Form 7. Crie dois grupos de campos no mesmo formulário:
- Grupo Dia (
group-dia): campos completos — nome, endereço, tipo de serviço, melhor horário para retorno. - Grupo Noite (
group-noite): apenas nome, telefone, descrição breve do problema, checkbox “Autorizo contato via WhatsApp”.
No painel do CF7, aba Conditional Fields, defina regras baseadas em campo oculto que preenchemos via JavaScript. Adicione campo hidden:
[hidden horario-atual id:horario-atual]
No JavaScript do tema (arquivo js/plantao.js enfileirado corretamente):
document.addEventListener('DOMContentLoaded', function() {
const hora = new Date().getHours(); // lado do cliente
const input = document.getElementById('horario-atual');
if (input) input.value = hora;
// Troca botão de envio por WhatsApp à noite
if (hora >= 20 || hora < 6) {
const form = document.querySelector('form.wpcf7-form');
if (form) {
const btn = form.querySelector('input[type="submit"]');
if (btn) {
const whatsappLink = 'https://wa.me/5511999999999?text=Ol%C3%A1%2C%20preciso%20de%20atendimento%20de%20emerg%C3%AAncia%20para%20desentupimento.';
btn.type = 'button';
btn.value = 'Chamar no WhatsApp 🌙';
btn.onclick = () => window.open(whatsappLink, '_blank');
}
}
}
});
No CF7, condicionais: Mostrar group-dia se horario-atual entre 6 e 19, Mostrar group-noite se horario-atual menor que 6 OU maior ou igual a 20. Isso garante que o usuário veja apenas campos relevantes.
Roteamento de e-mails noturnos via hooks
Mesmo com campos condicionais, o CF7 processa o envio no servidor. Use o hook wpcf7_before_send_mail para alterar destinatário e assunto conforme horário real do servidor:
add_action('wpcf7_before_send_mail', function($contact_form) {
$submission = WPCF7_Submission::get_instance();
if (!$submission) return;
$hora = (int) wp_date('G');
$em_plantao = ($hora >= 20 || $hora < 6);
$mail = $contact_form->prop('mail');
if ($em_plantao) {
$mail['recipient'] = 'plantao@desentupidora-exemplo.com.br';
$mail['subject'] = '[PLANTÃO NOTURNO] Novo lead: ' . $mail['subject'];
$mail['additional_headers'] = 'X-Priority: 1 (Highest)\n' . ($mail['additional_headers'] ?? '');
} else {
$mail['recipient'] = 'comercial@desentupidora-exemplo.com.br';
}
$contact_form->set_properties(['mail' => $mail]);
});
Assim, leads noturnos caem na caixa da equipe de plantão com prioridade alta, enquanto leads diurnos seguem para o comercial. O mesmo formulário atende ambos os fluxos sem duplicação.
Automação de WhatsApp com mensagem contextualizada
O botão WhatsApp noturno deve abrir conversa com mensagem pré-formatada que inclua dados do formulário. Atualize o JavaScript para capturar valores antes de redirecionar:
function montarMensagemWhatsApp() {
const nome = document.querySelector('[name="seu-nome"]')?.value || '';
const telefone = document.querySelector('[name="seu-telefone"]')?.value || '';
const problema = document.querySelector('[name="descricao-problema"]')?.value || '';
let msg = 'Olá, sou ' + encodeURIComponent(nome) + '.
';
msg += 'Telefone: ' + encodeURIComponent(telefone) + '.
';
msg += 'Preciso de atendimento de EMERGÊNCIA (plantão noturno):
';
msg += encodeURIComponent(problema);
return 'https://wa.me/5511999999999?text=' + encodeURIComponent(msg);
}
// No event listener noturno:
btn.onclick = () => window.open(montarMensagemWhatsApp(), '_blank');
No lado do servidor, para leads que preenchem formulário noturno mas clicam em “Enviar” (caso o JS falhe), o hook wpcf7_before_send_mail pode disparar webhook para API do WhatsApp Business (via integração como Zenvia, Twilio ou Take Blip) usando wp_remote_post(). Exemplo simplificado:
if ($em_plantao) {
$dados = $submission->get_posted_data();
$msg = "🚨 PLANTÃO: {$dados['seu-nome']} - {$dados['seu-telefone']} - {$dados['descricao-problema']}";
wp_remote_post('https://api.seu-provedor-whatsapp.com/send', [
'body' => json_encode(['to' => '5511999999999', 'text' => $msg]),
'headers' => ['Content-Type' => 'application/json', 'Authorization' => 'Bearer SEU_TOKEN'],
'timeout' => 5
]);
}
Essa redundância garante que nenhum lead noturno fique sem notificação imediata.
Página de agradecimento dinâmica e SEO local
Após envio noturno, redirecione para página de agradecimento que confirme o plantão. No CF7, use a configuração “Redirecionar para URL após envio” com parâmetro: /obrigado-plantao/?horario=noturno. Na página, use shortcode para exibir mensagem contextual:
add_shortcode('msg_agradecimento_plantao', function() {
$horario = isset($_GET['horario']) ? sanitize_text_field($_GET['horario']) : 'dia';
if ($horario === 'noturno') {
return '<h2>Solicitação recebida no plantão 24h</h2>
<p>Nossa equipe de emergência foi notificada via WhatsApp e retornará em até 15 minutos.</p>
<p>Para agilizar, mantenha o telefone próximo. Atendemos toda a <a href="/blog/analytics-de-conversao-para-leads-de-desentupimento-no-mandaqui/">capital e região metropolitana</a>.</p>';
}
return '<h2>Solicitação recebida</h2><p>Nosso time comercial entrará em contato no próximo dia útil.</p>';
});
Inclua link para a empresa de desentupimento SP no rodapé da página de agradecimento noturno, reforçando autoridade local. Para rastreamento de conversão noturna, configure evento GA4 plantao_lead disparado apenas quando horario=noturno na URL — isso separa métricas de plantão das diurnas em relatórios. Veja mais sobre analytics de conversão para leads de desentupimento no Mandaqui.
Testes, monitoramento e checklist de homologação
Antes de ir para produção, execute bateria de testes:
- Teste de fuso: Altere relógio do servidor para 21h, 5h, 10h — verifique shortcode, formulário e hook de e-mail em cada cenário.
- Teste de JS desabilitado: Desative JavaScript no navegador, envie formulário à noite — o hook PHP deve rotear e-mail corretamente.
- Teste de WhatsApp: Clique no botão noturno, confirme mensagem pré-preenchida aberta no app.
- Teste de spam: Envie 10 leads noturnos seguidos — verifique se provedor de e-mail não bloqueia por volume.
- Teste de cache: Com plugin de cache ativo (WP Rocket, LiteSpeed), certifique-se de que shortcodes
[status_plantao]e[msg_agradecimento_plantao]estão na lista de exclusão de cache (não cachear páginas com esses shortcodes).
Monitore via logs: error_log('Plantão: ' . wp_date('c') . ' - Lead: ' . $email); no hook de e-mail. Configure alerta no New Relic, Datadog ou simples cron que avise se 0 leads noturnos em 2h de plantão (pode indicar falha).
Para equipes que gerenciam múltiplos sites de serviços técnicos, a padronização desse plantão em mu-plugins facilita replicação. Consulte como agência WordPress gerencia tempo para reparo de direção hidráulica para ver estrutura similar aplicada a outro nicho.
A configuração de plantão noturno no WordPress transforma o site em extensão da central de atendimento 24h. Com timezone alinhado, shortcodes dinâmicos, formulários condicionais, roteamento de e-mails por hook e automação de WhatsApp redundante, a desentupidora captura leads de emergência mesmo quando a equipe comercial está offline. Implemente em etapas, teste cada camada isoladamente e monitore conversões noturnas separadamente — o ROI aparece na primeira semana de plantão ativo.
Checklist prático
Perguntas frequentes
Como fazer o site exibir horário de plantão automaticamente?
Utilize shortcodes com lógica de data/hora no PHP ou plugins de agendamento que alteram o conteúdo exibido conforme o fuso horário de São Paulo. O shortcode verifica o horário atual e retorna a mensagem de plantão ou expediente normal.
Qual a melhor forma de redirecionar leads noturnos para WhatsApp?
Implemente JavaScript no frontend que detecta o horário e troca o botão de contato por link direto do WhatsApp com mensagem pré-formatada. No backend, use hooks do Contact Form 7 ou Gravity Forms para condicionar o envio de e-mail apenas em horário comercial.
Posso usar o mesmo formulário para dia e noite?
Sim, use campos condicionais que mostram/ocultam opções conforme o horário. À noite, exiba apenas campos essenciais e mensagem de retorno no próximo dia útil. Plugins como Conditional Fields for Contact Form 7 facilitam isso sem código.
Como garantir que o servidor processe o horário correto?
Configure o timezone do WordPress em Configurações > Geral para 'America/Sao_Paulo'. No PHP, use `wp_date()` em vez de `date()` para respeitar o fuso do WP. Evite depender apenas do JavaScript do cliente, que pode ter horário incorreto.
É necessário plugin pago para plantão noturno?
Não. Com snippets no functions.php ou plugin de code snippets, você cria shortcodes, altera destinatários de e-mail e controla redirecionamentos. Plugins pagos apenas aceleram a implementação com interface visual.