list_unsubscribe() public method

public list_unsubscribe ( string $list_id, string $email_address ) : boolean
$list_id string
$email_address string
return boolean
Exemplo n.º 1
0
 /**
  * @param MC4WP_Form $form
  * @param MC4WP_Request $request
  */
 public function process_unsubscribe_form(MC4WP_Form $form, MC4WP_Request $request = null)
 {
     $mailchimp = new MC4WP_MailChimp();
     $log = $this->get_log();
     $result = null;
     $data = $form->get_data();
     // unsubscribe from each list
     foreach ($form->get_lists() as $list_id) {
         // TODO: Check if on list before proceeding with unsubscribe call?
         $result = $mailchimp->list_unsubscribe($list_id, $data['EMAIL']);
     }
     if (!$result) {
         $form->add_error('error');
         $log->error(sprintf('Form %d > MailChimp API error: %s', $form->ID, $mailchimp->get_error_message()));
         // bail
         return;
     }
     // Success! Unsubscribed.
     $form->add_message('unsubscribed');
     $log->info(sprintf("Form %d > Successfully unsubscribed %s", $form->ID, $data['EMAIL']));
     /**
      * Fires right after a form was used to unsubscribe.
      *
      * @since 3.0
      *
      * @param MC4WP_Form $form Instance of the submitted form.
      */
     do_action('mc4wp_form_unsubscribed', $form);
 }