[英]How to check if email address entered in an input field exists in mailchimp list
想知道是否有人可以帮助我。 我正在为客户设计一个wordpress网站,我需要一些帮助。 我已经安装了Woocommerce 2.1.6,并且想知道如何编写一个php脚本,当用户转到单个产品页面时,而不是提供默认的“添加到购物车”按钮,而是显示一个输入字段和一个提交按钮。 然后,我希望php脚本检查输入的电子邮件是否在我创建的mailchimp“成员列表”中。
如果列表中存在它,则会出现“添加到购物车”按钮,可以继续购买。 如果不是,则会显示一条消息,提示他们尚未注册会员资格等。
感谢大家。
合理的方法是使用mailchimp的REST api。 您正在寻找的方法是listMemberInfo 。 Mailchimp为该API提供了PHP包装器,您可以在此处找到下载内容。 安装包装程序后,您将需要在帐户中找到的api密钥和列表密钥。
当然,您也可以卷曲api端点
https://<dc>.api.mailchimp.com/2.0/
您将api键,列表和电子邮件数据发布为json编码数组。
基本上查询API函数看起来是这样的,作为一个expample我们采取us2
为适当的数据中心(你在你的API密钥破折号后找到它):
function queryMailChimp($email){
$url = 'https://us2.api.mailchimp.com/2.0/lists/member-info.json';
$arguments = json_encode(array('apikey'=>'your_api_key','id'=>'your_list_id','emails'=>array('email'=$email)));
$contentType ='Content-Type: application/json';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array($contentType));
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arguments);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
curl_close($ch);
return array('status' => $status, 'header' => $header, 'response' => json_decode($body, true), 'request'=>array('url'=>$url,'content'=>$contentType,'data'=>$arguments));
}
其中Subscriber_hash =列表成员电子邮件地址的小写版本的MD5哈希。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.