Integrando Lead Gen & CRM com o Contact Form 7 Usando .PHP
Última atualização: 14 de novembro de 2024
O Contact Form 7 é um dos plugins de formulário mais populares para WordPress. O Lead Gen & CRM só pode se integrar com o Contact Form 7 versão 4.8 ou superior.
Se você estiver usando uma versão anterior, atualize para a versão mais recente do Contact Form 7 antes de integrar com o Lead Gen & CRM.
Este artigo detalha como integrar um formulário do Contact Form 7 ao Lead Gen & CRM com .PHP.
Conteúdo do Artigo
Teste | ✓ | |
Essencial | ✓ | |
Avançado | ✓ | |
Ultimate | ✓ |
Administradores | ✓ | |
Gerentes de Empresa | ✓ | |
Gerentes de Marketing | ✓ | |
Gerentes de Vendas | ||
Vendedores | ||
Vendedores Jr. |
Usando Esta Informação
Este artigo detalhará um método para conectar formulários do Contact Form 7 usando código .PHP. Ao usar este método, o código do Formulário Nativo não deve estar na página com o formulário, pois tudo será feito a partir do código .PHP.
Se o código de incorporação do Formulário Nativo foi colocado anteriormente para o formulário, ele deve ser removido.
O .PHP detalhado aqui pode ser adicionado ao seu arquivo functions.php no WordPress. Alguns temas podem pedir que você coloque seu código personalizado em outro arquivo .PHP.
Embora você possa colocá-lo lá, certifique-se de testá-lo diretamente do functions.php se houver algum problema, pois a compatibilidade em outros arquivos pode variar com base no seu tema do WordPress ou outros plugins.
Antes de Começar a Integrar
Alguns temas do WordPress podem ocultar o acesso ao functions.php arquivo. O functions.php também pode ser acessado usando FTP. Entre em contato com o administrador do seu site se você não ver o arquivo functions.php .
Além disso, o acesso via FTP é recomendado caso o arquivo functions.php precise ser revertido, pois um código incorreto aqui pode tornar o site inacessível, exceto por FTP. Preste atenção ao código que você adiciona ao functions.php. Se você adicionar um código incorreto, pode ser bloqueado da sua conta do WordPress.
Crie um backup do seu atual functions.php antes de fazer essas alterações e esteja preparado para substituí-lo via FTP se necessário.
Obtendo Informações do Formulário Nativo
Antes de começar a integrar o Contact Form 7 com o Lead Gen & CRM, você precisará obter certas informações do formulário.
Para obter as informações necessárias do formulário, crie ou edite um formulário nativo.
Revise o código de incorporação JavaScript gerado na janela que aparece.
Mantenha esta aba do navegador aberta.
Exemplo de Código de Incorporação do Formulário Nativo
Uma vez que o Formulário Nativo é criado, ele exibirá um bloco de código. O código é diferente para cada Formulário Nativo criado. O código exibido é semelhante ao seguinte exemplo:
<script type="text/javascript"> var __ss_noform = __ss_noform || []; __ss_noform.push(['baseURI', 'https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/']); __ss_noform.push(['endpoint', '30e3bbfe-a5e7-4207-9237-e9f9e2ff80e9']) </script> <script type="text/javascript" src="https://koi-XXXXXXXXXX.marketingautomation.services/client/noform.js?ver=1.24" ></script>
Preparando o Arquivo .PHP
Antes de fazer qualquer coisa específica para o seu formulário, você precisará fazer modificações no seu arquivo functions.php no WordPress.
Para modificar o arquivo functions.php, faça o seguinte:
- Abra uma nova aba no seu navegador.
- Faça login no WordPress nessa aba do navegador.
- Clique em Editor, localizado sob Aparência no menu à esquerda.
- Abra o arquivo functions.php no menu à direita.
- Adicione o seguinte código ao final do arquivo:
function submitToSharpSpring($data, $baseURI, $endPoint) { $params = ''; foreach($data as $key => $value) { if(!is_array($value)) { $params = $params . $key . '=' . urlencode($value) . "&"; } else { $params = $params . $key . '=' . urlencode(implode(',',$value)) . "&"; } } if (isset($_COOKIE['__ss_tk'])) { $trackingid__sb = $_COOKIE['__ss_tk']; $params = $params . "trackingid__sb=" . urlencode($trackingid__sb); } // Preparar URL $ssRequest = $baseURI . $endPoint . "/jsonp/?" . $params; // Enviar solicitação $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $ssRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); ob_start(); var_dump($data); $data_dump = ob_get_clean(); curl_close($ch); }
- Coloque o seguinte código diretamente abaixo do bloco de código acima:
add_action( 'wpcf7_before_send_mail', function ($cf7) { // Seu código único para cada formulário vai aqui });
- Cole o seguinte código abaixo da linha que contém
Seu código único para cada formulário vai aqui
e acima da linha de fechamento});
:if ($_POST['_wpcf7'] == Seu ID do Formulário){ $baseURI = 'sua baseURI'; $endpoint = 'seu endpoint'; submitToSharpSpring($_POST, $baseURI, $endpoint); } // Se conectar outro formulário, coloque seu código abaixo deste
Adicionando Formulários Adicionais
Para adicionar formulários adicionais, repita o Passo 6 acima. Ao fazer isso, adicione cada bloco de código abaixo do final do código acima antes dele. O código deve ser adicionado logo abaixo do comentário que diz:
// Se conectar outro formulário, coloque seu código abaixo deste
Esteja ciente de que sua baseURI
geralmente será a mesma para todos os formulários dentro de uma instância do Lead Gen & CRM.
Adicionando Código Único aos Formulários
Uma vez que o arquivo functions.php tenha sido modificado, você pode começar a adicionar código único aos formulários individuais.
Isso só precisa ser feito uma vez para cada formulário único do Contact Form 7, independentemente de quantas páginas ele exista.
Para adicionar código único aos formulários, faça o seguinte:
- Volte para a aba do navegador do Lead Gen & CRM com o código de incorporação do Formulário Nativo.
- Localize a linha contendo um endereço da web que segue
baseURI
.
No exemplo acima, o endereço da web é:https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/
- Copie o endereço da web, incluindo a barra final.
- Volte para a aba do navegador do WordPress functions.php.
- Substitua
sua baseURI
pelo endereço da webbaseURI
copiado. Ele deve permanecer entre aspas simples. - Volte para a aba do navegador do Lead Gen & CRM com o código de incorporação do Formulário Nativo.
- Localize a linha contendo um valor alfanumérico que segue
endpoint
.
No exemplo acima, o valor alfanumérico é:30e3bbfe-a5e7-4207-9237-e9f9e2ff80e9
- Copie o valor.
- Volte para a aba do navegador do WordPress functions.php.
- Substitua seu valor
endpoint
pelo valorendpoint
copiado. Ele deve permanecer entre aspas simples. - Volte para a aba do navegador do WordPress functions.php.
- Localize o valor
ID do Formulário
dentro do Short Code do Contact Form 7.
No exemplo a seguir, o valorID do Formulário
é533
:[contact-form-7 id="533" title="teste cf7 php"]
- Substitua
Seu ID do Formulário
pelo númeroID do Formulário
dentro do Short Code do Contact Form 7 naif ($_POST
linha. Ele não deve estar entre aspas. - Salve o arquivo functions.php do WordPress.
- Adicione o Short Code do Contact Form 7 à sua página do WordPress.
Exemplo de Código Completo
Abaixo está um exemplo de código completo que conecta dois formulários do Contact Form 7. A primeira parte do código é baseada no exemplo de código de rastreamento mostrado acima. A segunda parte do código conectaria um formulário com um ID do Formulário
de 789
no Contact Form 7 enquanto usa valores de um código diferente.
function submitToSharpSpring($data, $baseURI, $endPoint, $track = true) { unset($data['_wpcf7']); unset($data['_wpcf7_version']); unset($data['_wpcf7_locale']); unset($data['_wpcf7_unit_tag']); unset($data['_wpcf7_container_post']); $params = ''; foreach($data as $key => $value) { if(!is_array($value)) { $params = $params . $key . '=' . urlencode($value) . "&"; } else { $params = $params . $key . '=' . urlencode(implode(',',$value)) . "&"; } } if (isset($_COOKIE['__ss_tk'])) { $trackingid__sb = $_COOKIE['__ss_tk']; $params = $params . "trackingid__sb=" . urlencode($trackingid__sb); } $sharpReq = $baseURI . $endPoint . "/jsonp/?" . $params; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $sharpReq); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); ob_start(); var_dump($data); $data_dump = ob_get_clean(); curl_close($ch); } add_action( 'wpcf7_before_send_mail', function ($cf7) { $baseURI = 'https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/'; if ($_POST['_wpcf7'] == 533) { $baseURI = 'sua base URI'; $endpoint = '30e3bbfe-a5e7-4207-9237-e9f9e2ff80e9'; submitToSharpSpring($_POST, $baseURI, $endpoint); } // Se conectar outro formulário, coloque seu código abaixo deste if ($_POST['_wpcf7'] == 789) { $baseURI = 'https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/'; $endpoint = '1234567-a5e7-bfe3-abcd-a956ae605b'; submitToSharpSpring($_POST, $baseURI, $endpoint); } // Se conectar outro formulário, coloque seu código abaixo deste });