=== Easy Forms for Mailchimp ===
Contributors: yikesinc, eherman24, liljimmi, JPry, yikesitskevin, fmixell, vochr, codeparrots
Donate link: https://codeparrots.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: 6.4
Requires PHP: 5.2.13
Stable tag: 6.9.0
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 account and pulls in all of your list information. List statistics can be viewed right from your dashboard.

> Note: For assistance with GDPR compliance, use our free add-on [GDPR Compliance for Mailchimp](https://wordpress.org/plugins/eu-opt-in-compliance-for-mailchimp/).

You can also extend the plugin's functionality with our [free and paid add-ons](https://codeparrots.com/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).

**Add a 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 lists with an easy-to-use admin, including multiple forms for the same list.
* Connect your website to your Mailchimp account with an API key.
* Add forms to any post or page with our editor button or a shortcode.
* Duplicate forms with a click.
* Customize the form submission button text.
* Display forms with inline fields.
* Add forms to widgetized areas with our widget.
* Allow users to sign up for 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 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 welcome email.
* Remove subscribers from your list through our admin interface.
* Allow existing subscribers to update their 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 forms and associated settings for use on other sites with the plugin 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 account activity like subscribes and unsubscribes.
* View your list statistics and manage users and list settings.
* Use advanced debugging to log 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://codeparrots.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://codeparrots.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/evanherman/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://codeparrots.com/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).

<br />

<em>Check out some of our [other plugins](https://codeparrots.com/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).</em>

== Installation ==

1. Download the plugin .zip file and make note of where on your computer you downloaded it to.
2. In the WordPress admin (example.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://codeparrots.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://codeparrots.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 [their website](https://login.mailchimp.com/signup?).

= How does the plugin connect my Mailchimp account to my site? =
Our plugin uses an API Key to allow your site to communicate with your account. After you enter your API key into the plugin settings your site is connected to your account and ready to make forms.

= How do I create a Mailchimp API key? =

Step-by-step instructions:

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 API key or click the Create A Key button.
4. Name your key descriptively, so you know what application uses that key.

Copy your API key so you can paste it into the plugin General Settings.

= How do I make my forms GDPR compliant? =
For assistance with GDPR compliance, use our free add-on [EU Opt-In Compliance for Mailchimp](https://wordpress.org/plugins/eu-opt-in-compliance-for-mailchimp/).

= 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://codeparrots.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 account and manage them there.

Please read the article [Manage List and Sign Up 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 your lists 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://codeparrots.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 your account and stores it on your site in a cache. If you make changes to your 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 cache. Please read [our Knowledge Base Article](https://codeparrots.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 list.

To display the count for a specific 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 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://codeparrots.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://codeparrots.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 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 API key to connect your site to your account
2. Manage Forms Page - See all the forms you have created for your 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 account activity
7. Integration Settings - Integrate opt-in checkboxes with other forms
8. reCAPTCHA Settings - Add a Google reCAPTCHA key
9. Account Activity Dashboard Widget - View your account activity
10. List Stats Dashboard Widget
11. List Information Screen
12. Subscriber Details Screen
13. Form Widget
14. Form Widget in the Sidebar on Live Website
15. Editor Button to easily add Forms to Page and Posts
16. 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 the plugin we've included a number of hooks and filters to allow for a higher level of customization of your forms.

For information and code examples on how to implement the hooks and filters provided by our plugin, please see our [Developer Documentation in the Knowledge Base](https://codeparrots.com/support/knowledge-base/product/developer-documentation/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp).

== Changelog ==

= 6.9.0 - February 26th, 2023 =
* Sanitize all settings on save. [#917](https://github.com/EvanHerman/yikes-inc-easy-mailchimp-extender/pull/917)
* Escape all settings on output. [#917](https://github.com/EvanHerman/yikes-inc-easy-mailchimp-extender/pull/917)
* Replace all instances of `FILTER_SANITIZE_STRING` with `htmlspecialchars()`. [#917](https://github.com/EvanHerman/yikes-inc-easy-mailchimp-extender/pull/917)

= 6.8.9 - June 12, 2023 =
* Escaped and sanitize form fields when a form is created and displayed to the user.

= 6.8.8 - March 27, 2023 =
* Escaped and sanitize form fields in admin.
* Fix block breaking bug with interest group form field descriptions.
* Fix incorrect error returned when a form field submission data is reset.

= 6.8.7 - March 23, 2023 =
* Altered code to adhere to WordPress Coding Standards.

= 6.8.6 - December 17, 2021 =
* Addressed potential XSS vulnerability

= 6.8.5 - September 2, 2021 =
* Deprecated filter block_categories is replaced by block_categories_all in WP 5.8

= 6.8.4 - April 12, 2021 =
* Increase specificity of admin asset inclusion to prevent conflicts with other plugins.

= 6.8.3 - March 4, 2021 =
* Rename assets folder

= 6.8.2 - February 17, 2021 =
* Dropdown hotfix

= 6.8.1 - December 30, 2020 =
* Added 'yearRange' to jQuery UI Datepicker Options
Thank you to @ptsteadman

= 6.8.0 - September 14, 2020 =
* Added 'Placeholder' for dropdown.
* Patched bug for checkbox interest group.

= 6.7.0 - July 1, 2020 =
* Adding support for Google Recaptcha Version 3.

= 6.6.4 - March 26, 2020 =
* Fixes "Freddie" logo image path.

= 6.6.3 - February 27, 2020 =
* Important security release.

= 6.6.2 - November 3, 2019 =
* Bug scrub WCUS! Fixed issues with adding tags on resubscribe.

= 6.6.0 - October 25, 2019 =
* Adding Double Opt-in Subscribe.
* Easy Forms Gutenberg Category - Thanks to @Ajwerth.

= 6.5.6 - October 24, 2019 =
* Fixing bug with WordPress 5.3 ahead of release.

= 6.5.4 - August 28th, 2019 =
* Patched security vulnerability found in on of our dependencies.

= 6.5.3 - July 1st, 2019 =
* Added support for showing whether your site is being blocked by Mailchimp. If you're blocked, you will now see an error on the plugin's General Settings page.
* Added a filter for our checkbox integrations, `yikes_mailchimp_checkbox_integration_additional_vars`. This allows you to use custom variables in our other filters.
* Added a filter for changing the placement (above/below/both) of form error/success messages. See the filter `yikes_mailchimp_feedback_message_placement`.
* Added support for setting the timestamp_signup Mailchimp merge variable to all new subscribers.
* Removed support for setting the timestamp_opt variable for all subscribers. This plugin will no longer set the timestamp_opt Mailchimp merge variable.
* Fixed an issue with default selected interest groups not working in our Gutenberg block.
* Fixed admin input field code injection vulnerability. Thanks to Henri Salo from Nixu Corporation for finding and reporting this to us.
* Fixed an error w/ error handling a failed API hit on the Manage Lists page.
