O plugin expõe uma única action pra devs estenderem o comportamento de envio: connect_elementor_mautic_before_send_form. Ela dispara logo antes do formulário ser enviado pro Mautic — exclusivamente no modo padrão.
Use pra modificar o objeto Mautic (alterar dados do contato), registrar telemetria, condicionar o envio, ou disparar lógica customizada com base no ID do formulário.
Assinatura
do_action( 'connect_elementor_mautic_before_send_form', $mautic, $form_id );
| Parâmetro | Tipo | Descrição |
|---|---|---|
$mautic |
object |
Instância da biblioteca escopecz/mautic-form-submit já configurada com URL e dados da requisição. Você pode chamar métodos como getContact() pra ler/alterar atributos do contato. |
$form_id |
int |
ID do formulário no Mautic (o mesmo que você preencheu em Mautic Form ID no Elementor). |
Exemplo: lógica condicional por formulário
add_action( 'connect_elementor_mautic_before_send_form', function ( $mautic, $form_id ) {
if ( 5 === (int) $form_id ) {
error_log( 'Enviando formulário 5 com lógica especial' );
// sua lógica aqui
}
}, 10, 2 );
Exemplo: enriquecer o contato antes do envio
add_action( 'connect_elementor_mautic_before_send_form', function ( $mautic, $form_id ) {
$contact = $mautic->getContact();
// Adicionar uma tag baseada na origem do tráfego
if ( ! empty( $_COOKIE['utm_source'] ) ) {
$contact->setTags( [ sanitize_text_field( $_COOKIE['utm_source'] ) ] );
}
}, 10, 2 );
Exemplo: log estruturado pra observabilidade
add_action( 'connect_elementor_mautic_before_send_form', function ( $mautic, $form_id ) {
do_action( 'logger', 'mautic.form_submit', [
'form_id' => $form_id,
'page_url' => $_SERVER['HTTP_REFERER'] ?? null,
'timestamp' => time(),
] );
}, 10, 2 );
Limitações
No Modo alternativo, o plugin envia direto via POST pra /form/submit?formId=... sem passar pelo objeto Mautic — então o hook não roda. Se o seu fluxo customizado depende dele, mantenha o Modo alternativo desligado.
Onde o hook é chamado
No código do plugin, o hook fica em includes/class-form-rules.php, dentro do método submit_remote_form(), executado logo após a configuração do objeto Mautic e antes da chamada que dispara o envio. O caminho exato pode variar entre versões — confira a versão instalada no seu site.
Próximos passos
- Modo alternativo — entenda por que o hook não dispara nesse modo.
- Logs e debug — pra confirmar que seu callback rodou no envio.