我正在MemberMouse訂閱Wordpress網站上工作。在用戶通過網絡註冊成爲會員之後,我想調用一個腳本,將用戶添加到Mailchimp郵件列表中並使用雙重選擇。 Membermouse通過Mailchimp提供集成,但只有一個選擇加入。因此,由於政府法律,我需要使用雙重選擇。在WordPress用戶訂閱後通過通知腳本添加Mailchimp用戶(Membermouse)PHP和API
我寫了下面的腳本,應該,一旦成員添加它發送下面的PHP sript的情況下被調用:
<?php
require_once("wp-load.php");
require_once("wp-content/plugins/membermouse/includes/mm-constants.php");
require_once("wp-content/plugins/membermouse/includes/init.php");
// Your Membermouse API URL
$apiUrl = "MYDOMAIN/wp-content/plugins/membermouse/api/request.php";
// Your API key
$apiKey = "my API key";
// Your API secret
$apiSecret = "my API secret";
// ---- GET EVENT TYPE ----
if(!isset($_GET["mm_member_add"]))
{
// event type was not found, so exit
exit;
}
// ---- ACCESS DATA ----
// member data
$username = $_GET["username"];
$email = $_GET["email"];
$apiKey1 = 'my Mailchimp API key';
$listID1 = 'my Mailchimp list ID';
// MailChimp API URL
$memberID1 = md5(strtolower($email));
$dataCenter1 = substr($apiKey1,strpos($apiKey1,'-')+1);
$url1 = 'https://' . $dataCenter1 . '.api.mailchimp.com/3.0/lists/' . $listID1 . '/members/' . $memberID1;
// member information
$json = json_encode([
'email_address' => $email,
'status' => 'pending',
]);
// send a HTTP POST request with curl
$ch1 = curl_init($url1);
curl_setopt($ch1, CURLOPT_USERPWD, 'user:' . $apiKey1);
curl_setopt($ch1, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_TIMEOUT, 10);
curl_setopt($ch1, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch1, CURLOPT_POSTFIELDS, $json);
$result1 = curl_exec($ch1);
$httpCode = curl_getinfo($ch1, CURLINFO_HTTP_CODE);
curl_close($ch1);
break;
echo "<pre>".print_r($result1, true)."</pre>";
?>
但是,它不會響應。該腳本將被執行。
到目前爲止這麼好。然而,我正在嘗試幾天後如何編寫這個PHP來讓這個工作。另外,我不確定PHP代碼是否正確。這只是一個假設。
對於參考文獻,我發現從membermouse這個腳本:https://dl.dropboxusercontent.com/u/265387542/files/member_notification_script.php
而這個腳本Mailchimp:https://www.codexworld.com/add-subscriber-to-list-mailchimp-api-php/
我想這兩個結合起來,但至今沒有成功。