【问题标题】:wordpress contact form 7 to sync to mailchimp list using apiwordpress 联系表格 7 使用 api 同步到 mailchimp 列表
【发布时间】:2013-10-24 12:50:50
【问题描述】:

我正在尝试将联系表 7 数据发送到 mailchimp 列表。到目前为止,遵循本教程http://www.limecanvas.com/a-mailchimp-opt-in-field-for-contact-form-7/

我正在尝试修改 php 以收集电话号码并将其作为合并标记发布到 mailchimp 列表中。

function wpcf7_send_to_mailchimp($cfdata) {
     $formtitle = $cfdata->title;
     $formdata = $cfdata->posted_data;
     // Opt-in field checked?
     if ( $formdata['mailchimp-optin'] ) {
     $names = explode(' ',trim($formdata['first-name']));
     $firstName = $names[0];
     $lastName = '';
     if (count($names)>1){
     // more than one word in name field
     $lastName = array_pop($names);
     }
    $send_this_email = $formdata['your-email'];
     $mergeVars = array(
     'FNAME'=>$firstName,
     'LNAME'=>$lastName
     );
     // MCAPI.class.php needs to be in theme/includes folder
    require_once('core/includes/MCAPI.class.php');

     // grab an API Key from http://admin.mailchimp.com/account/api/
     $api = new MCAPI('apikey');
     // grab your List's Unique Id by going to http://admin.mailchimp.com/lists/
     // Click the "settings" link for the list - the Unique Id is at the bottom of that page.
     $list_id = 'listid';
     // Send the form content to MailChimp List without double opt-in
     $retval = $api->listSubscribe($list_id, $send_this_email, $mergeVars, 'html', false,true);
     }
    }
    add_action('wpcf7_mail_sent', 'wpcf7_send_to_mailchimp', 1);

我已经在 mailchimp 中设置了表单字段,并且正在尝试这个:

$telephone = $formdata['you-tell'];

并将合并标签添加到合并标签数组中:

'TELL'=>$telephone

我不是一个 php 的人(更喜欢 jquery)所以我可能会接近这个错误?

基本上我需要从联系表格 7 中提取数据并添加到 mailchimp 合并标签数组中。

感谢指点

【问题讨论】:

    标签: php wordpress api mailchimp contact-form-7


    【解决方案1】:

    MailChimp for WordPress 就是这样做的。它使用 MailChimp API 与 WordPress HTTP API 相结合,使其不易出错。

    以下联系表格 7 模板会将输入的值提供给您的 MailChimp 列表。

    [text* mc4wp-FNAME]
    
    [text* mc4wp-LNAME]
    
    [tel mc4wp-TELL]
    
    [mc4wp_checkbox "Sign-up to our newsletter."]
    

    希望有帮助!

    【讨论】:

      【解决方案2】:

      好的,想通了……真的很简单:

       $tell = $formdata['your-tell'];
       $mergeVars = array(
       'FNAME'=>$firstName,
       'LNAME'=>$lastName,
       'TELL'=>$tell
       );
      

      修改了这些行

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-30
        • 1970-01-01
        • 1970-01-01
        • 2015-09-22
        • 2018-04-16
        • 1970-01-01
        • 2017-01-12
        相关资源
        最近更新 更多