=== Easy Forms for MailChimp ===
Contributors: yikesinc, eherman24, liljimmi, hiwhatsup, JPry, yikesitskevin
Donate link: https://yikesplugins.com/?utm_source=wp_plugin_repo&utm_medium=donate_link&utm_campaign=easy_forms_for_mailchimp
Tags: MailChimp, MailChimp forms, MailChimp lists, opt-in forms, sign up form, MailChimp, email, forms, mailing lists, marketing, newsletter, sign up
Requires at least: 4.0
Tested up to: 4.8
Stable tag: 6.3.20
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
The ultimate MailChimp WordPress plugin. Easily build unlimited forms for your MailChimp lists, add them to your site and track subscriber activity.
== Description ==
Easy Forms for MailChimp allows you to add **unlimited** MailChimp sign up forms to your WordPress site. You can add forms to posts, pages, sidebars and other widgetized areas. Your MailChimp API Key connects your site to your MailChimp account and pulls in all of your MailChimp list information.
MailChimp List statistics and user activity can be viewed right from your dashboard. From there, you can manage users and list settings.
You can also extend the plugin's functionality with our [free and paid add-ons](https://yikesplugins.com/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).
**Add a MailChimp form to a site in a minute and a half**
https://www.youtube.com/watch?v=NRZbW-Da1XA
**Features**
* Build **unlimited** forms for any of your MailChimp lists with an easy-to-use admin, including multiple forms for the same list.
* Connect your website to your MailChimp account with a MailChimp API key.
* Add MailChimp forms to any post or page with our editor button or a shortcode.
* Duplicate forms with a click.
* Customize the MailChimp submission button text.
* Display forms with inline fields.
* Add MailChimp forms to widgetized areas with our widget.
* Allow users to sign up for MailChimp interest groups, or pre-check groups in a hidden field.
* Use our built-in CSS classes or add your own additional classes to form fields to style and customize forms.
* Use a shortcode to display the number of subscribers on a given MailChimp list.
* Fully customize the success and error messages displayed back to the user.
* Quickly toggle between single or double opt-in.
* Disable or Enable the default MailChimp welcome email.
* Remove subscribers from your MailChimp list through our admin interface.
* Allow existing subscribers to update their MailChimp profile information.
* Redirect users to another post or page after form submission.
* Enable Google reCAPTCHA protection on your forms.
* Schedule form visibility by date/time.
* Limit opt-ins by logged in users.
* Use localized data/time pickers
* Toggle on/off AJAX functionality on a per form basis.
* Import/Export all MailChimp forms and associated settings for use on other sites with Easy Forms for MailChimp installed.
* Integrate with core WordPress forms: comments and registration.
* Integrate with many popular third party plugins: WooCommerce, Easy Digital Downloads, BuddyPress, BbPress, Contact Form 7.
* View your MailChimp account activity like subscribes and unsubscribes.
* View your MailChimp list statistics and manage users and list settings.
* Use advanced debugging to log MailChimp errors as they occur, for easy troubleshooting.
* Developer friendly! Use our many hooks and filters to extend the plugin.
* Add-ons available to extend the core functionality of the plugin. [Check them out](https://yikesplugins.com/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp)!
**Integrations**
Add MailChimp opt-in checkboxes to the forms generated by these popular plugins.
* WooCommerce
* Easy Digital Downloads
* BuddyPress
* BbPress
* Contact Form 7
Instructions on how to use the plugin can be [found in our Knowledge Base](https://yikesplugins.com/support/knowledge-base/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).
If you experience any problems, please submit a New Issue on our [Github Issue Tracker](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues). We respond to issues regarding the free plugin within a week. For expedited help, [purchase one of our paid add-ons](https://yikesplugins.com/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).
Check out some of our [other plugins](https://yikesplugins.com/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).
== Installation ==
1. Download the plugin .zip file and make note of where on your computer you downloaded it to.
2. In the WordPress admin (yourdomain.com/wp-admin) go to Plugins > Add New or click the "Add New" button on the main plugins screen.
3. On the following screen, click the "Upload Plugin" button.
4. Browse your computer to where you downloaded the plugin .zip file, select it and click the "Install Now" button.
5. After the plugin has successfully installed, click "Activate Plugin" and enjoy!
Visit [our Knowledge Base](https://yikesplugins.com/support/knowledge-base/how-to-install-the-plugin-2/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp) for more detailed installation instructions.
== Frequently Asked Questions ==
**All documentation can be found in [our Knowledge Base](https://yikesplugins.com/support/knowledge-base/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).**
= Do I need a MailChimp account to use this plugin? =
Yes, you must have a MailChimp account and at least 1 list set up in order to use the plugin. You can register for one for free at [MailChimp](https://login.mailchimp.com/signup? "MailChimp").
= How does the plugin connect my MailChimp account to my site? =
Our plugin uses a MailChimp API Key to allow your site to communicate with your MailChimp account. After you enter your MailChimp API key into the plugin settings your site is connected to MailChimp and ready to make forms.
= How do I create a MailChimp API key? =
Go to the MailChimp article [About MailChimp API Keys](http://kb.mailchimp.com/accounts/management/about-api-keys) for detailed information on creating MailChimp API keys.
Step-by-step instructions from MailChimp:
1. Click your profile name to expand the Account Panel, and choose Account.
2. Click the Extras drop-down menu and choose MailChimp API keys.
3. Copy an existing MailChimp API key or click the Create A Key button.
4. Name your key descriptively, so you know what application uses that key.
Copy your MailChimp API key so you can paste it into the plugin General Settings.
= How do I change the submit button text? =
The submit button text can be customized to use any text you like. This is done via the shortcode. Please visit our How-to article [How do I change the submit button text](https://yikesplugins.com/support/knowledge-base/how-do-i-change-the-submit-button-text/) for step-by-step instructions.
= How do I add new fields to my form? =
The fields that are assigned to a list are managed on the MailChimp site. To add or remove fields you need to log in to your MailChimp account and manage them there.
Please read the MailChimp article [Manage List and Signup Form Fields](http://kb.mailchimp.com/lists/managing-subscribers/manage-list-and-signup-form-fields) to learn how to add and edit the fields for your lists.
After you’ve added fields, they may not show up immediately in our plugin’s Form Builder. Our plugin pulls the information from MailChimp and stores it for a period of time before pulling it again. To get the new information immediately you will need to clear the MailChimp API cache. Please read our article [API Cache Settings](https://yikesplugins.com/support/knowledge-base/api-cache-settings/) for instructions on how to clear the MailChimp API cache.
= How do I change the field labels? =
The text next to or above each field of a form is called a “label” and you may want to change them. For instance by default MailChimp uses “First” instead of “First Name” and you may want to change it to make more sense. In the form builder, you will find a little pencil icon next to each form label. Click that icon to edit the label and hit the check icon to save it. After you are done editing field labels you will need to hit the "Update Form" button to save all of your changes.
= I’m not seeing all my lists on the drop-down menu when I go to make a new form, why? =
Our plugin fetches your list information from MailChimp and stores it on your site in a cache. If you make changes to your MailChimp lists, our plugin will update your site with those changes within an hour. If you want it updated immediately (for instance if you add a new list), you can delete the MailChimp cache. Please read [our Knowledge Base Article](https://yikesplugins.com/support/knowledge-base/im-not-seeing-all-my-lists-on-the-drop-down-menu-when-i-go-to-make-a-new-form/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp) for more info.
= Is there a way to display the number of subscribers for a given list? =
Yes! You can use the shortcode, `[yikes-mailchimp-subscriber-count]` in the form description field to display the number of subscribers to that MailChimp list.
To display the count for a specific MailChimp list, you can use the `form="#"` or `list="#"` parameters. If using `form="#"` you should pass in a specific form ID, which will display the total number of subscribers associated with that form. If using `list="#"` you should pass in a MailChimp list ID.
= I want to use my own styles. Can I remove the styles bundled with this plugin? =
Yes, we've included a constant you can use to prevent our styles from loading, `YIKES_MAILCHIMP_EXCLUDE_STYLES`. For usage, please see [our Knowledge Base Article](https://yikesplugins.com/support/knowledge-base/how-do-i-deregister-the-styles-included-with-this-plugin/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).
= Some of the characters in my form are being stored as ??? instead of in the correct format. =
You'll want to make sure that your database collation is set properly. The best collation setting for all web languages is UTF8. If you need help switching collation settings in your database, please see the following article from Media Temple: [Default MySQL character set and collation](https://mediatemple.net/community/products/dv/204403914/default-mysql-character-set-and-collation).
= I'm having trouble upgrading to version 6, what do I do? =
We want our users to have as smooth a transition as possible so we created [Guides to Updating](https://yikesplugins.com/support/knowledge-base/product/installation-easy-forms-for-mailchimp/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp). Please check them out if you are experiencing problems.
= Can I define my API key using a PHP constant, inside of wp-config.php? =
Yes! Since version 6.1.2 of Easy Forms for MailChimp we have enabled the ability to define a PHP constant inside of wp-config.php to be used throughout the plugin. The constant name you'll want to use is `YIKES_MC_API_KEY`. Once you've defined your constant, you'll want to head into the options page and save your settings for the changes to take hold.
Example:
`define( 'YIKES_MC_API_KEY', '12345679-us2' );`
== Screenshots ==
1. General Form Settings - Enter your MailChimp API key to connect your site to your MailChimp account
2. Manage Forms Page - See all the forms you have created for your MailChimp lists and create new forms
3. Form Editor Page - Build, edit and adjust the settings for your forms
4. Form Field Options - Set a variety of options for each form field
5. Form Opt-In and Submission Settings - Set the options for each form
6. Account Overview Page - View your MailChimp account activity
7. Integration Settings - Integrate MailChimp opt-in checkboxes with other forms
8. reCAPTCHA Settings - Add a Google reCAPTCHA key
9. Account Activity Dashboard Widget - View your MailChimp account activity
10. MailChimp List Stats Dashboard Widget
11. MailChimp List Information Screen
12. Subscriber Details Screen
13. MailChimp Form Widget
14. MailChimp Form Widget in the Sidebar on Live Website
15. Editor Button to easily add Forms to Page and Posts
16. MailChimp Form on a Page on Live Website
17. Additional Form Settings
18. Inline Form on a Page on Live Website
== Other Notes ==
Alongside the default functionality of Easy Forms for MailChimp we've included a number of hooks and filters to allow for a higher level of customization of your MailChimp forms.
For information and code examples on how to implement the hooks and filters provided by Easy Forms for MailChimp, please see our [Developer Documentation in the Knowledge Base](https://yikesplugins.com/support/knowledge-base/product/developer-documentation/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).
Below you'll find a complete list of the hooks and filters available in Easy Forms for MailChimp.
**Filters**
* `yikes-mailchimp-form-title` - Alter the output of the form title of the specified form. @params: $title, $form_id
* `yikes-mailchimp-form-description` - Alter the output of the form description of the specified form. @params: $description, $form_id
* `yikes-mailchimp-redirect-timer` - Alter the amount of time in *milliseconds* the user sees the success message before being redirected. Default: `1500` - @params: $time, $form_id
* `yikes-mailchimp-redirect-url` - Alter the URL of the page that the user will be redirected to on a successful submission. @params: $url, $form_id, $page_data
* `yikes-mailchimp-filter-before-submission` and `yikes-mailchimp-filter-before-submission-{$form_id}` - Catch the merge variables before they get sent over to MailChimp. @params: $merge_variables
* `yikes-mailchimp-after-submission` and `yikes-mailchimp-after-submission-{$form_id}` - Catch the merge variables after they get sent over to MailChimp. @params: $merge_variables
* `yikes-mailchimp-user-role-access` - Alter who can access this plugin page by capability. Default: `manage_options` - @params: $capability
* `yikes-mailchimp-international-phone-pattern` - Alter the regex pattern for acceptable international phone number formats. Default: `'[0-9,-,+]{1,}'` - @params: $regex_pattern
* `yikes-mailchimp-us-phone-pattern` - Alter the regex pattern for acceptable US phone number formats. Default: `^(\([0-9]{3}\)|[0-9]{3}-)[0-9]{3}-[0-9]{4}$` - @params: $regex_pattern
* `yikes-mailchimp-zip-pattern` - Alter the zip code regex pattern. Default: `\d{5,5}(-\d{4,4})?` - @params: $regex_pattern, $form_id
* `yikes-mailchimp-process-default-tag` - Alter the default form field value for text fields. @params: $default_value
* `yikes-mailchimp-{$merge_tag}-label` - Alter the specified form field's or interest group's label text. @params: $label
* `yikes-mailchimp-{$merge_tag}-description` - Alter the specified form field's or interest group's description text (note: if targeting an interest group, it will be the group_id instead of the merge tag). @params: $description_content, $form_id.
* `yikes-mailchimp-address-{$type}-label` - Alter the field sub-label text for a specific address field (e.g. addr1). @params: $label, $form_id
* `yikes-mailchimp-form-submit-button` - Alter the submit button to your liking. @params: $submit_button, $form_id
* `yikes-mailchimp-form-submit-button-text` - Alter the submit button text. Default: `submit` - @params: $submit_button_text, $form_id
* `yikes-mailchimp-form-submit-button-classes` - Add additional classes to the submit button for further styling. @params: $classes, $form_id
* `yikes-mailchimp-form-container-class` - Add additional classes to the `` element container that wraps the form. @params: $class_name, $form_id
* `yikes-mailchimp-form-class` - Add additional classes to `