Отправить контактную форму 7 данных в Infusionsoft

Я использую контактную форму 7 для своего многосайта WordPress.. Мне нужен сценарий, например, когда пользователь заполняет эту форму, данные отправляются по электронной почте администратору, а также те же данные отправляются контактному лицу infusionsoft.. для отправки данных в infusionsoft Я попробовал ниже Операция "CURL". Но он выдает ошибку типа "Ошибка скручивания: следовало максимальное (20) перенаправлений".

Я поместил этот код в файл functions.php... Я работаю для мультисайта, поэтому "$app_id" и "$form_id" будут приходить динамически

add_action( 'wpcf7_mail_sent', 'your_wpcf7_mail_sent_function' );  

function your_wpcf7_mail_sent_function( $contact_form ) {

$title = $contact_form->title();
$submission = WPCF7_Submission::get_instance();

$app_id =  get_field('app_id', 'options'); 
$form_id =  get_field('form_id', 'options'); 



if ( $submission ) {

    $posted_data = $submission->get_posted_data();
}

    function post_to_url($url, $data) {

    $fields = '';
    foreach($data as $key => $value) {
    $fields .= $key . '=' . $value . '&';
    }

    rtrim($fields, '&');
    $timeout = 30;
    $post = curl_init();  

    curl_setopt($post, CURLOPT_URL, $url);
    curl_setopt($post, CURLOPT_HEADER, 0);
    curl_setopt ($post, CURLOPT_TIMEOUT, $timeout);
    curl_setopt ($post, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5)));
    curl_setopt ($post, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt ($post, CURLOPT_SSL_VERIFYHOST,  2);
    curl_setopt($post, CURLOPT_POST, true);
    curl_setopt($post, CURLOPT_POSTFIELDS, ($fields));
    curl_setopt($post, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($post, CURLOPT_FOLLOWLOCATION, 1);

    $result = curl_exec($post);

    if(!curl_exec($post)){
        die('Error: "' . curl_error($post) . '" - Code: ' . curl_errno($post));
    }
    curl_close($post);
    }

   if ( 'some title' == $title ) {

    $data = array(
    "inf_field_FirstName" =>  $posted_data['fname'],
    "inf_field_Email" =>      $posted_data['email'],
    "inf_field_LastName" =>   $posted_data['lname'],
    "inf_field_Phone2" =>     $posted_data['telephone'],
    "inf_custom_City0" =>     $posted_data['city'],
    "inf_custom_ZipCode" =>   $posted_data['zip'],
    "inf_custom_Ihavequestionsabout" =>   $posted_data['comments'],
    "inf_form_xid" =>        $form_id,
    "inf_form_name" =>       "Web Form submitted",
    "infusionsoft_version" => "1.70.0.58116"        
    );

    $final_url = "https://".$app_id.".infusionsoft.com/app/form/process/".$form_id; 
   post_to_url($final_url, $data);

  }
}

0 ответов

Другие вопросы по тегам