public function create_subscription($data = null)
 {
     $settings = get_option('fwe_settings');
     if (!fwe_theme_option_exists('mailchimp_api_key')) {
         return new WP_Error('apikey', 'Please enter a MailChimp API key in Theme Options');
     }
     if (!fwe_theme_option_exists('mailchimp_list_id')) {
         return new WP_Error('nolist', 'Please select a MailChimp list in Theme Options');
     }
     if (!array_key_exists('name', $data) || empty($data['name'])) {
         return new WP_Error('noname', 'Please enter your name and try again!');
     }
     if (!array_key_exists('email', $data) || empty($data['email']) || !is_email($data['email'])) {
         return new WP_Error('noemail', 'Please enter a valid email address and try again!');
     }
     $first_name = fwe_get_given_name($data['name']);
     $last_name = fwe_get_surname($data['name']);
     $chimp = new \Drewm\MailChimp($settings['mailchimp_api_key']);
     $result = $chimp->call('lists/subscribe', array('id' => $settings['mailchimp_list_id'], 'email' => array('email' => $data['email']), 'merge_vars' => array('FNAME' => $first_name, 'LNAME' => $last_name)));
     if (array_key_exists('status', $result) && $result['status'] === 'error') {
         return new WP_Error('error', $result['error']);
     }
     $resp = new WP_JSON_Response();
     $result['status'] = 'success';
     $result['message'] = $settings['subscribe_success_message'];
     $resp->set_data($result);
     return $resp;
 }
Ejemplo n.º 2
0
function fwe_team_member_set_surname($post_id)
{
    if (wp_is_post_revision($post_id)) {
        return;
    }
    if (!array_key_exists('post_type', $_POST)) {
        return;
    }
    if ($_POST['post_type'] !== 'team_member') {
        return;
    }
    $surname = get_post_meta($post_id, 'surname', true);
    if (!$surname) {
        $surname = fwe_get_surname($_POST['post_title']);
        update_post_meta($post_id, 'surname', $surname);
    }
}