MailChimp Integration
Overview
The easiest email subscription setup. Enfold comes integrated with Mailchimp subscription and it can be added to the page as a builder element or a widget.
To activate the Mailchimp element, link your Mailchimp account from Enfold > Newsletter > Enter a valid Mailchimp API Key to use all newsletter related theme functions.
Please note Mailchimp is a Newsletter Service, available for free for the first 2000 Subscribers!
MailChimp Settings
Mailchimp settings allow you to make changes to the way the form appears and behaves as mentioned in the list below. However, to add more fields or edit form labels you have to update them in your Mailchimp account.
- List Selection
- Edit Contact Form Elements
- Double opt-in?
- What should happen once the form gets sent?
- Message Sent label
- Form Color Scheme
- Hide Form Labels
MailChimp Integration
Enfold 3.4 introduced built-in MailChimp integration, in this tutorial you’ll learn how to connect your MailChimp account with Enfold so you can have a newsletter box for your visitors to sign-up.
Finding and entering your API Key.
Assuming you already have your MailChimp account and Lists set-up, head over API Keys and copy your API Key:
Then go to your site’s Enfold Theme Options > Newsletter and paste the key in the field you’ll find there, finally click the “Check API Key” button to fetch your Lists:
If everything went OK you should see something like this:
MailChimp Newsletter Widget/Element
Now to add MailChimp Sign up to your site you have a range of options depending on where and how you want to include it:
- As a Widget (Appearance > Widgets > Enfold Mailchimp Newsletter Signup): minimal settings, ideal for a Sidebar newsletter box.
- As an ALB element (Content Elements > Mailchimp Signup): more styling options, if you are already familiar with the Contact Form element you’ll find this a piece of cake.
- As a Shortcode (Magic Wand tool > Mailchimp Signup): this will generate a [shortcode] that can be used in conjunction with do_shortcode if you need to include it on a custom PHP template or hook.
Code Snippets
Shortcode
[av_mailchimp list='' double_opt_in='aviaTBdouble_opt_in' on_send='' sent='Thank you for subscribing to our newsletter!' link='manually,http://' color='av-custom-form-color av-light-form' hide_labels='aviaTBhide_labels' custom_class='' av_uid='av-9x3o8k'] [av_mailchimp_field id='0' type='text' check='is_email' options='' label='Email Address' width='element_half' av_uid='av-9m7vas'] [av_mailchimp_field id='av-button' type='button' check='' options='' label='Subscribe' width='element_half' av_uid='av-9hku6k'] [/av_mailchimp]
Customization
Label
To change the label color or font style from the default style which is inherited from the theme options. Please use the CSS snippet:
/*---------------------------------------- // CSS - Newsletter label //--------------------------------------*/ .avia_ajax_form.avia-mailchimp-form label { color:#8e43e7; }
Add icons to newsletter labels
To add icons to Mailchimp labels we make use of the pseudo elements:
/*---------------------------------------- // CSS - Newsletter Icons //--------------------------------------*/ #top .avia_ajax_form.avia-mailchimp-form label{ padding-left: 20px; } #top .avia_ajax_form.avia-mailchimp-form label:nth-child(1)::before { position: absolute; left: 0px; content:"e805"; font-family: 'entypo-fontello'; }
Input Field
Form field color is inherited from the theme options settings. However, if you like adding custom styling please use the below CSS.
/*---------------------------------------- // CSS - Newsletter Input fields //--------------------------------------*/ #top .avia_ajax_form.avia-mailchimp-form input[type='text'] { background: #c4dff6; color: #00334e; }
Submit Button
The text and width of the submit button can be edited from the Mailchimp element options. To add custom styles to the submit button please use the below CSS.
/*---------------------------------------- // CSS - Newsletter Submit button //--------------------------------------*/ #top .avia_ajax_form.avia-mailchimp-form input[type='submit'] { background: #1769ff; color: #fff200; border: none; }
Remove placeholder text on-focus
To remove placeholder text on focus:
[placeholder]:focus::-webkit-input-placeholder { transition: opacity 0.15s 0.15s ease; opacity: 0; }
Remove astrex from Mailchimp form field
To remove the asterisk from the newsletter form, add the below CSS to your quick CSS or to child theme styles.
/*---------------------------------------- // CSS - Newsletter remove astrix //--------------------------------------*/ #top .avia_ajax_form.avia-mailchimp-form .required{ display: none; }
Add mailchimp to all page/post
To add Mailchimp newsletter box to all posts and pages after the content.
- Enable debug mode.
- Add Mailchimp element on a blank page ( It will be easy to copy the shortcode).
- Select the newsletter list and style the form as required.
- Copy the shortcode and replace it with the shortcode on both the line that has “return $content” in the below code.
- Finally, add the modified code to your functions.php
//------------------------------
// php - Mailchimp After Page/Post
//------------------------------
function my_shortcode_to_a_post( $content ) {
global $post;
if( ! $post instanceof WP_Post ) return $content;
switch( $post->post_type ) {
case 'post':
return $content . "[av_mailchimp list='0000000' double_opt_in='aviaTBdouble_opt_in' on_send='' sent='Thank you for subscribing to our newsletter!' link='manually,http://' color='' custom_class='' av_uid='av-11vqd0']
[av_mailchimp_field id='0' label='Email Address' type='text' value='' disabled='' check='is_email' av_uid='av-xnolg'][/av_mailchimp_field]
[av_mailchimp_field id='av-button' label='Subscribe' type='button' value='' check='' av_uid='av-p79ho'][/av_mailchimp_field]
[/av_mailchimp]";
case 'page':
return $content . "[av_mailchimp list='0000000' double_opt_in='aviaTBdouble_opt_in' on_send='' sent='Thank you for subscribing to our newsletter!' link='manually,http://' color='' custom_class='' av_uid='av-lcugs']
[av_mailchimp_field id='0' label='Email Address' type='text' value='' disabled='' check='is_email' av_uid='av-hf65o'][/av_mailchimp_field]
[av_mailchimp_field id='av-button' label='Subscribe' type='button' value='' check='' av_uid='av-6l1ek'][/av_mailchimp_field]
[/av_mailchimp]
";
default:
return $content;
}
}
add_filter( 'the_content', 'my_shortcode_to_a_post' );
Change confirmation message, error message color and font family.
To change the background and the text color of the success and error message please use the below CSS.
/*---------------------------------------- // CSS - Newsletter Success message //--------------------------------------*/ .avia-form-success.avia-mailchimp-success { background:#2baf2b ; color:#fff; } /*---------------------------------------- // CSS - Newsletter Error message //--------------------------------------*/ .avia-mailchimp-ajax-error.av-form-error-container { background:#ee4f4f ; color:#fff; }
Resource
MailChimp 4 WordPress Plugin Integration
In this tutorial, you’ll learn how to integrate MailChimp For WordPress plugin. I’m assuming you already have a MailChimp List set-up and your API Key inserted in the plugin options.
Creating a basic Form
Once you got the plugin installed and configured go to MailChimp for WordPress > Forms and replace the default Form markup with the following (modify according to your MailChimp List structure):
<p>
<label>Your Name:</label>
<input type="text" name="FNAME" placeholder="Your name" required />
</p>
<p>
<label>Email address: </label>
<input type="email" name="EMAIL" placeholder="Your email address" required />
</p>
<p>
<input type="submit" value="Sign up" class="button" />
</p>
Note: make sure the Load form styles (CSS)? the setting is set to No.
Form styling
In order to get the MailChimp form to inherit the Enfold form styles you’ll need to add the following code to Quick CSS or child theme style.css (recommended):
.mc4wp-form form{margin:0!important;clear:both} .mc4wp-form p br{display:none} .mc4wp-form label{display:block;visibility:visible;position:relative;margin-bottom:7px;font-weight:600} .mc4wp-form p{position:relative;clear:both;float:left;width:100%} .mc4wp-form p.hidden{position:absolute;width:0;left:0;top:0} .mc4wp-form .form_element_half{width:49.5%;float:left;margin-left:1%;clear:none} .mc4wp-form .form_element_third{width:32.6%;float:left;margin-left:1%;clear:none} .mc4wp-form .form_element_two_third{width:66.4%;float:left;margin-left:1%;clear:none} .mc4wp-form .form_element_fourth{width:24.2%;float:left;margin-left:1%;clear:none} .mc4wp-form .form_element_three_fourth{width:74.8%;float:left;margin-left:1%;clear:none} .mc4wp-form .first_form{clear:both;margin-left:0} @media only screen and (max-width: 479px) { .responsive .mc4wp-form .form_element{width:100%;clear:both;margin-right:0;margin-left:0;float:none} } #top .mc4wp-form input[type='text'],#top .mc4wp-form input[type='email'],#top .mc4wp-form select,#top .mc4wp-form textarea{width:100%;margin-bottom:0;display:inline;min-width:50px;padding:13px;border-radius:2px} #top .mc4wp-form select{-webkit-appearance:none;border-radius:0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAANCAYAAAC+ct6XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjBBRUQ1QTQ1QzkxMTFFMDlDNDdEQzgyNUE1RjI4MTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjBBRUQ1QTU1QzkxMTFFMDlDNDdEQzgyNUE1RjI4MTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMEFFRDVBMjVDOTExMUUwOUM0N0RDODI1QTVGMjgxMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMEFFRDVBMzVDOTExMUUwOUM0N0RDODI1QTVGMjgxMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pk5mU4QAAACUSURBVHjaYmRgYJD6////MwY6AyaGAQIspCieM2cOjKkIxCFA3A0TSElJoZ3FUCANxAeAWA6IOYG4iR5BjWwpCDQCcSnNgxoIVJCDFwnwA/FHWlp8EIpHSKoGgiggLkITewrEcbQO6mVAbAbE+VD+a3IsJTc7FQAxDxD7AbEzEF+jR1DDywtoCr9DbhwzDlRZDRBgACYqHJO9bkklAAAAAElFTkSuQmCC);background-position:center right;background-repeat:no-repeat;border-radius:2px} .mc4wp-form .button{margin:0;padding:16px 20px;border-radius:2px;border-bottom-width:1px;border-bottom-style:solid;font-weight:400;font-size:12px;min-width:142px;outline:none} .mc4wp-form .modified_width .button{width:100%;padding:13px 10px 14px;min-width:0} .mc4wp-form p input,.mc4wp-form p textarea,.mc4wp-form p select{-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;transition:all .3s ease-in-out}
Using the Form
Now wherever (Text Block, Widget, etc) you place the plugin shortcode [mc4wp_form]
it will automatically pick up the Enfold form styles:
Playing with columns
If you want to make use of the Enfold form columns you’ll need to modify the Form mark-up accordingly, for example for a one-line form (note the classes added to the paragraphs):
<div class="av-form-labels-visible">
<p class="first_form form_element form_element_third">
<label>Your Name:</label>
<input type="text" name="FNAME" placeholder="Your name" required />
</p>
<p class="form_element form_element_third">
<label>Email address: </label>
<input type="email" name="EMAIL" placeholder="Your email address" required />
</p>
<p class="form_element form_element_third modified_width">
<input type="submit" value="Sign up" class="button" />
</p>
</div>
Result:
Using only placeholders
Remove the “av-form-labels-visible” class if you are planning to not use a placeholder for the form fields.
Extra: Opt-in box at the end of each Post
Add the following to your theme/child theme functions.php:
function add_mc_after_post_content() {
if (is_singular("post")){
?>
<div class="av-sub-box">
<h5 class='av-sub-box-title'>Suscribe to our Blog</h5>
<?php echo do_shortcode("[mc4wp_form]"); ?>
</div>
<?php
}
}
add_action('ava_after_content', 'add_mc_after_post_content');
And the following to Quick CSS / style.css:
/* av-sub-box */ .av-sub-box{ padding: 20px; background: #F4F4F4; width:100%; clear:both; float:left; margin-top: 80px; border: 1px solid #e1e1e1; margin-bottom: -40px; border-radius: 3px; }
Result:
Contributed video: