/** * Add new subscriber */ public function subscriber_add() { // simple api class for MailChimp from https://github.com/drewm/mailchimp-api/blob/master/src/Drewm/MailChimp.php require_once Utils::api_path() . 'mailchimp-api.php'; foreach ($this->instance_default as $key => $value) { ${$key} = !empty($instance[$key]) ? $instance[$key] : $value; } $return = array('status' => 'failed', 'message' => $failed_message); $email = sanitize_email($_POST['email']); $api_key = $_POST['api-key']; $list_id = $_POST['list-id']; // Create MailChimp API object $mailerAPI_obj = new MailChimp($api_key); if (is_email($email) && !empty($api_key) && $mailerAPI_obj->validate_api_key()) { // Call API $result = $mailerAPI_obj->call('/lists/subscribe', array('id' => $list_id, 'email' => array('email' => $email, 'euid' => time() . rand(1, 1000), 'leid' => time() . rand(1, 1000)), 'double_optin' => true), 20); if (!empty($result['leid'])) { // Success response $return = array('status' => 'success', 'message' => $success_message); } else { $return['message'] = $failed_message; } $return['result'] = $result; } // Send answer wp_send_json($return); }