=== 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 `
` element of your opt-in form. @params: $class_name, $form_id * `yikes-mailchimp-front-end-form-action-links` - Add custom front end action links alongside Edit Form, Customize Form etc. @params: $form_action_links, $form_id, $form_name * `yikes-mailchimp-custom-default-value-tags` - Define your own custom pre-defined tags to populate the default value fields with - these tags appear in the modal. @params: $pre_defined_tags_array * `yikes-mailchimp-parse-custom-default-value` - Process your custom default merge tag into a custom value to populate the form field with (note: Goes hand in hand with `yikes-mailchimp-custom-default-value-tags` filter). @params: $default_tag * `yikes-mailchimp-field-data` - Filter form field data such as placeholder, label, etc. @params: $field_array, $field, $form_id * `yikes-mailchimp-subscriber-count-value` - Alter the returned value for the total subscriber count of a given MailChimp list. @params: $subscriber_count * `yikes-mailchimp-frontend-content` - Custom content filter for this plugin to prevent others from hooking in where not wanted. * `yikes-mailchimp-recaptcha-parameters` - Alter any of the possible reCAPTCHA shortcode parameters. @params: $recaptcha_parameter_array, $form_id * `yikes-mailchimp-preloader` - Add a custom preloader image. Default: WordPress's wpspin_light.gif. @params: $url_to_spinner_gif * `yikes-mailchimp-update-email-subject` - Filter the subject line for the email that is generated and sent when a user needs to update their subscription info. @params: $email_subject * `yikes-mailchimp-update-email-content` - Filter the content of the email that is generated and sent when a user needs to update their subscription info. @params: $email_body * `yikes-mailchimp-success-response` - Alter *any* success response text. @params: $response_text, $form_id, $submitted_form_variables * `yikes-mailchimp-default-country-value` - Alter the default country selected in the country dropdown. Default: `US` - @params: $country_slug, $form_id * `yikes-mailchimp-recaptcha-required-error` - Filter the error displayed back to the user when an error occurs during the reCAPTCHA submission process. @params: $error_text, $form_id * `yikes-mailchimp-sslverify` - Toggle sslverify on/off when attempting to validate your API key with the MailChimp API servers. Default: `true` (on) - @params: $use_ssl * `yikes_admin_list_subscriber_limit` - Filter the number of subscribers per page when viewing a list's subscribers. Default: `20` - @params: $limit * Version 6.3.0: * `yikes-mailchimp-success-double-optin-response` - Filter the "Success: Double opt-in" custom message. @params: $message, $form_id * `yikes-mailchimp-success-single-optin-response` - Filter the "Success: Single opt-in" custom message. @params: $message, $form_id * `yikes-mailchimp-success-resubscribed-response` - Filter the "Success: Re-subscriber" custom message. @params: $message, $form_id * `yikes-mailchimp-user-already-subscribed-link-text` - Filter the "Success: Re-subscriber with link to email profile update message" custom message. @params: $message, $form_id * `yikes-mailchimp-general-error-response` - Filter the "Error: General" custom message. @params: $message, $form_id * `yikes-mailchimp-user-already-subscribed-text` - Filter the "Error: Re-subscribers not permitted" custom message (note: this replaced `yikes-mailchimp-user-already-subscribed-error`). @params: $message, $form_id * `yikes-mailchimp-filter-groups-before-submission` and `yikes-mailchimp-filter-groups-before-submission-{$form_id}` - Filter the interest groups before they're submitted. @params: $groups, $form_id * `yikes-mailchimp-address-2-required` - Change the address 2 field's `required` value. Default: `''` (it is never required) - @params: $required, $form_id * `yikes-mailchimp-filter-subscribe-request` and `yikes-mailchimp-filter-subscribe-request-{$form_id}` - Filter all of the fields sent over to the MailChimp API (not just the form fields). @params: $subscribe_body, $form_id * `yikesinc_eme_default_api_version` - Filter the API version. Default: `3.0` - @params: $version * `yikesinc_eme_api_url` - Filter the URL used for a request to the MailChimp API. @params: $full_path, $path * `yikesinc_eme_api_user_agent` - Filter the user agent used in API request. @params: $user_agent * `yikesinc_eme_api_auth_headers` - Filter the authentication headers used in the API request. @params: $auth_headers, $api_version * `yikesinc_eme_api_headers` - Filter the headers used for a request to the MailChimp API. @params: $headers, $path, $method, $params * `yikesinc_eme_api_timeout` - Filter the timeout (in *seconds*) used when sending an API request. Default: `15` @params: $timeout * `yikesinc_eme_api_args` - Filter the arguments used for a request to the MailChimp API. @params: $args, $path, $method, $params * Version 6.3.5: * `yikes-mailchimp-default-zip-code` - Filter to set the default zip code value. Default: `''` - @params $default_zip_code_value, $form_id * Version 6.3.6: * `yikes-mailchimp-excluded-redirect-post-types` - Filter which post types will *not* be included in the dropdown of pages that you can redirect to. Some post types will never need to be redirected to, and for convenience (e.g. a smaller and easier to navigate dropdown) these can be added to the excluded post types array. Default: `array( 'attachment' , 'revision' , 'nav_menu_item', 'shop_order', 'shop_order_refund', 'custom_css', 'customize_changeset' );` - @params: $excluded_post_types (the default array) * Version 6.3.10: * `yikes-mailchimp-countries-with-zip` - Control which countries the zip field displays for. If the chosen country is not in this array, the zip field will fade out. @params: $countries_with_zip, $form_id * `yikes-mailchimp-state-province-list` - Add or remove options from the states dropdown list. Default: All U.S. States and Canadian Provinces - @params: $state_and_province_list, $form_id * Version 6.3.13: * `yikes-mailchimp-use-nonce-verification` - Control whether we verify the nonce on form submissions. Default: `true` (by default, we check the nonce). @params: $use_nonce, $form_id * `yikes-mailchimp-wp-comment-integration-placement` - Control the placement of the subscription checkbox for the WP Comment Form integration. Default: `comment_form_field_comment` (after the comment textarea box) - @params: $comment_form_field. This filter allows you to choose which WP Comment Form filter to use, and for the full list of WP Comment Form filters, check the documentation: https://codex.wordpress.org/Function_Reference/comment_form. * 6.3.14: * `yikes-mailchimp-wooco-integration-checkbox-classes` - Control the classes that are added to the checkbox for the WooCommerce Checkout Integration. Default: 'form-row-wide' - @params: $classes * 6.3.15: * `yikes-mailchimp-{$merge_tag}-description-html` - Filter the full block of HTML that will be used for the form field's description. @params: $description_full, $description_text, $form_id * `yikes-mailchimp-{$interest_group_id}-description-html` - Filter the full block of HTML that will be used for the interest group field's description. @params: $description_full, $description_text, $form_id * 6.3.18: * `yikes-mailchimp-checkbox-integration-body` - Filter the full request body of a checkbox integration subscribe API call. @params: $data, $type * `yikes-mailchimp-ignore-required-array-field` - For server side validation, filter the required/unrequired fields. Due to the way MailChimp requires addresses, this is only useful for address 2 at the moment. @params: $non_required_fields, $form_id * 6.3.19: * `yikes-mailchimp-save-form-filter - Filter all of a form's data before it gets saved. @params: $form_updates, $form_id * `yikes-mailchimp-datepicker-options` - Filter all of the options for the jQuery datepicker. @params: $datepicker_options, $form_id * 6.3.20: * `yikes-mailchimp-integration-is-user-subscribed` - Override the integration checkbox for already subscribed users. @params: $subscribed, $integration_type. **Actions** * `yikes-mailchimp-form-submission` and `yikes-mailchimp-form-submission-{$form_id}` - Do something with the user email + form data on form submission. @params: $email, $merge_variables, $form_id, $notifications * `yikes-mailchimp-after-submission` and `yikes-mailchimp-after-submission-{$form_id}` - Do something with only the $merge_variables (note: these actions are fired off directly after `yikes-mailchimp-form-submission`). * `yikes-mailchimp-before-submission` and `yikes-mailchimp-before-submission-{$form_id}` - Do something with the $merge_variables before the API request. @params: $merge_variables * `yikes-mailchimp-after-form` - Do something after a form has been loaded. @params: $form_id * `yikes-mailchimp-before-checkbox` - Do something (e.g. output custom content) before the opt-in checkbox for all integrations. * `yikes-mailchimp-after-checkbox` - Do something (e.g. output custom content) after the opt-in checkbox for all integrations * `yikes-mailchimp-support-page` - Do something (e.g. output custom content) on the support page (note: we use this to add our support form for premium users). * `yikes-mailchimp-edit-form-section-links` - Add additional links to the edit form page next to 'Custom Messages'. * `yikes-mailchimp-edit-form-sections` - Add custom section to the edit form page. * `yikes-mailchimp-edit-form-notice` - Hook to display a custom notice on the edit form page. * `yikes-mailchimp-shortcode-enqueue-scripts-styles` - Hook to enqueue custom scripts & styles wherever the shortcode is being used. @params: $form_id * `yikes-mailchimp-additional-form-fields` - Define additional fields to add below all forms. @params: $form_data * `yikes-mailchimp-custom-form-actions` - Add custom action links on the manage forms page (alongside Edit, Duplicate, Shortcode, Delete). @params: $form_id * `yikes-mailchimp-list-form-fields-metabox` - Add additional content to the 'Form Fields' metabox on the view list page. * `yikes-mailchimp-list-interest-groups-metabox` - Add additional content inside of the interest groups metabox on the view list page. * 6.3.15: * `yikes-mailchimp-google-analytics` - Add Google Analytics JS functions. Check our Knowledge Base for instructions. == Changelog == = Easy Forms for MailChimp 6.3.20 - May 31st, 2017 = * Added a filter - `yikes-mailchimp-integration-is-user-subscribed` - for the integration checkbox. You can override whether the checkbox will display for already subscribed users (by default, the checkbox will not display). * Updated the way we're logging errors for the homepage dashboard widgets - an error should no longer break your dashboard! * Added some default excluded post types for our post query on the form builder (CPTS are forum, topic, and reply). This should help people who use bbPress and are experiencing timeout issues. (These can be filtered with the `yikes-mailchimp-excluded-redirect-post-types`). = Easy Forms for MailChimp 6.3.19 - May 16th, 2017 = * Fixed a bug where hidden form fields were being counted as visible. * Added a new filter - yikes-mailchimp-save-form-filter - that allows you to filter all of a form's data before it gets saved. * Replaced the current datepicker with the standard jQuery core datepicker. Added styles and custom code to support this. * Added a new filter - yikes-mailchimp-datepicker-options - that allows you to filter the datepicker options. = Easy Forms for MailChimp 6.3.18 - May 3rd, 2017 = * Added a filter, `yikes-mailchimp-checkbox-integration-body`, for the checkbox integrations. You can now filter the entire request body before it's sent to MailChimp. * Fixed up the code that was requiring address 2. By default, the address 2 field will never be required (can be changed with filters `yikes-mailchimp-address-2-required` and `yikes-mailchimp-ignore-required-array-field`). = Easy Forms for MailChimp 6.3.17 - May 1st, 2017 = * Added a quick fix for the Addon Settings list = Easy Forms for MailChimp 6.3.16 - April 26th, 2017 = * Quick fix to 6.3.15 - forgot to add a couple of files that handle the "Description Above Field" when a form field/interest group is initially added to the form. = Easy Forms for MailChimp 6.3.15 - April 26th, 2017 = * Google Analytics Event Tracking is here! We've added an action - `yikes-mailchimp-google-analytics` - where you can add Google Analytics JavaScript. Check out our knowledge base article (https://yikesplugins.com/support/knowledge-base/add-google-analytics-event-tracking/) for more instructions. * The form builder field instructions are now hidden when there are no fields added to the form. * Added the Clear API Cache button to the form builder - you can find the button in the Associated List Settings box. * Added a new option to the fields in the form builder: the ability to place the description above the field. This also comes with some minor style changes and a couple new filters: `'yikes-mailchimp-{$interest_group_id}-description-html'` to filter the interest group's description HTML, and `'yikes-mailchimp-{$merge_tag}-description-html'` to filter a form/merge field's description HTML. * Added HTML so that labels will work properly in the form builder. You can now select input fields by clicking on the field's label. = Easy Forms for MailChimp 6.3.14 - April 21st, 2017 = * Updating the WooCommerce Checkout integration checkbox with a new class and a filter for the classes (yikes-mailchimp-wooco-integration-checkbox-classes). The checkbox should now align correctly. * Added a new setting to the General Setting page that controls using the nonce validation. The nonce has caused numerous people issues, and the filter is difficult for some people. This new setting will turn off the nonce validation for all forms on the website. The previously added filter, yikes-mailchimp-use-nonce-verification, can still turn off nonce validation on a per-form basis. = Easy Forms for MailChimp 6.3.13 - April 17th, 2017 = * Two new filters: `yikes-mailchimp-wp-comment-integration-placement` and `yikes-mailchimp-use-nonce-verification`. * `yikes-mailchimp-use-nonce-verification` - Control whether we verify the nonce on form submissions. Default: `true` (by default, we check the nonce). @params: $use_nonce, $form_id * `yikes-mailchimp-wp-comment-integration-placement` - Control the placement of the subscription checkbox for the WP Comment Form integration. Default: `comment_form_field_comment` (after the comment textarea box) - @params: $comment_form_field. This filter allows you to choose which WP Comment Form filter to use, and for the full list of WP Comment Form filters, check the documentation: https://codex.wordpress.org/Function_Reference/comment_form. = Easy Forms for MailChimp 6.3.12 - April 6th, 2017 = * Security vulnerability patched - Discovered with DefenseCode ThunderScan Source Code Security Analyzer by Neven Biruski = Easy Forms for MailChimp 6.3.11 - March 23rd, 2017 = * Optimized our query that fetches all posts/pages/CPTs - we now fetch only the IDs - this should prevent issues such as memory overflow or timeout = Easy Forms for MailChimp 6.3.10 - March 21st, 2017 = * Added a filter to customize the options in the states' dropdown. You can now add your own states/provinces, or remove the default ones. Use `yikes-mailchimp-state-province-list` * Added a filter to customize the behavior of the zip code field. There are now around 20 different countries that the zip code field will be displayed for. Use the filter `yikes-mailchimp-countries-with-zip` to add/remove. * Fixed an error handling bug that occurred when interest groups were empty for certain integrations = Easy Forms for MailChimp 6.3.9.1 - March 14th, 2017 = * Added a new option for AJAX submissions with redirect set: open in new window/tab. (Note: some browsers may detect the redirect as a popup and block it by default) * Refactored the way the redirect logic worked = Easy Forms for MailChimp 6.3.9 - March 10th, 2017 = * The dismiss button for the "Please Review Us" box now redirects you to your current page instead of the admin home page. = Easy Forms for MailChimp 6.3.8 - March 3rd, 2017 = * Fixed an issue with label classes and refactored the code - there are now spaces in between the classes = Easy Forms for MailChimp 6.3.7 - March 3rd, 2017 = * Fixed an issue with the JavaScript helper file that was updated in 6.3.5 - the update profile link should now work as expected (shout out to @manouallouon on GitHub for pointing this out) = Easy Forms for MailChimp 6.3.6 - February 27th, 2017 = * Removing the following post types from our dropdown of potential redirect pages: `custom_css`, `customize_changeset`, and WooCommerce's `shop_order` and `shop_order_refund`. * Adding a filter (`yikes-mailchimp-excluded-redirect-post-types`) to allow users to define which CPTs will be excluded from the list of potential redirect pages. See the "Other Notes" section for the default list of excluded post types. = Easy Forms for MailChimp 6.3.5 - February 13th, 2017 = * Added Canadian provinces to the state dropdown list. If you choose "Canada" as your country, you will see only the provinces. If you choose U.S. you will see only the states. For all other countries, the dropdown will fade out. * Added the filter: `yikes-mailchimp-default-zip-code` for defaulting the zip code * Added the variable $form_id to the `yikes-mailchimp-default-country-value`, `yikes-mailchimp-address-{$type}-label`, and `yikes-mailchimp-zip-pattern` filters * Fixed an issue with pagination when viewing a list's subscribers. By default, each page jumps ahead 20 subscribers. This can be changed with the filter `yikes_admin_list_subscriber_limit`. * Fixed an issue where using double/single quotes in field names could break the field name. = Easy Forms for MailChimp 6.3.4 - February 2nd, 2017 = * CSS update to fix an issue with interest groups displaying in the form builder caused by 6.3.3 = Easy Forms for MailChimp 6.3.3 - February 1st, 2017 = * Security vulnerability patched - props to @nathan-hermit for bringing this to our attention * New feature: the ability to edit field labels * Generated new .pot file = Easy Forms for MailChimp 6.3.2 - January 25th, 2017 = * Custom message visibility is now dictated by your opt-in settings * Fixed an issue with the PHP `array_keys` function that breaks PHP versions < 5.4 * Hidden interest groups now work properly and are defined as checkboxes for consistency with MailChimp * Some minor copy changes and a new .pot file = Easy Forms for MailChimp 6.3.1 - January 18th, 2017 = * Generated new .pot file for proper i18n/l10n = Easy Forms for MailChimp 6.3.0 - January 17th, 2017 = * Version 6.3.0's biggest change is migrating the plugin to use MailChimp's v3 API. * Created API classes to interact with the MailChimp API * Converted all supported v2 endpoints to the corresponding v3 endpoint * Refactored all v2 endpoints that are unsupported in v3 to use the new API classes * Added filters to customize API requests * Version 6.3.0 includes a suite of custom message updates: * Removed the "invalid email" custom message (MailChimp v3 no longer supports error codes to detect things like an invalid email error) * Updated the custom messages descriptions text * Updated the success message - it is now specifically for successful double opt-in subscriptions * Added two new custom success messages: "Success: Single opt-in" for successful single opt-in subscriptions, and "Success: Re-subscriber" for successful re-subscriptions * Added two new custom messages for customizing the "update your profile link" email: "Email Subject" to customize the subject of the email, and "Email body" to customize the body of the email * Added/Updated filters for each custom message type. See the `Filters` section for more details. * Version 6.3.0 includes a suite of bug fixes, enhancements, and changes: * Added server-side validation to check for required form fields and required interest groups; this supports browsers like Safari that do not support the HTML 5 `required` attribute, or situations where the JavaScript validation fails * Added the HTML 5 required attribute to radio button and dropdown formatted interest groups * Wrapped the subscription form submit button's text in a span to better support adding custom HTML to the submit button text * Changed the types of values that are wiped out after submission to better support subscribing multiple times without refreshing the page * Added a nonce to the subscription form submission * Multiple interest groups can now be highlighted and added to the form at the same time (instead of one at a time) * Fixed the way default values work for interest groups and checkbox/dropdown/radio form fields * Changed the way the datepicker displays birthdays when the date format is DD/MM * Added error handling and a default error message for fatal server errors ('Error collecting the API response') * Allowing + signs for phone fields using MailChimp's international phone format (supports country codes) * Added transients throughout the application for common requests (e.g. MailChimp API requests and internal form data requests) * The "Send Welcome Email" option is no longer supported by MailChimp and has been removed * The second address line (addr2) is never required by default (this can be changed using a filter - see `yikes-mailchimp-address-2-required`). * Version 6.3.0 includes a lot of new filters, some renamed filters, some new parameters added, and some filters removed. For a complete list of available filters, please see the newly updated filters section. Here are some of the highlights: * Renamed filters `yikes-mailchimp-before-submission` and `yikes-mailchimp-before-submission-{$form_id}` to `yikes-mailchimp-filter-before-submission` and `yikes-mailchimp-filter-before-submission-{$form_id}`. This prevents conflicts between the actions of the same name. * Renamed filter `yikes-mailchimp-user-already-subscribed-error` to `yikes-mailchimp-user-already-subscribed-text` * Added filters `yikes-mailchimp-filter-groups-before-submission` and `yikes-mailchimp-filter-groups-before-submission-{$form_id}` to filter the interest groups before they're submitted * Removed filters `yikes-mailchimp-user-subscribe-api-request`, `yikes-mailchimp-checkbox-integration-subscribe-api-request` * Removed filter `yikes-mailchimp-interest-group-required-top-error` - replaced by `yikes-mailchimp-required-interest-group-missing` - this handles all types of interest group fields, not just checkboxes * Removed filter `yikes-mailchimp-interest-group-checkbox-error` - missing fields are now highlighted = Easy Forms for MailChimp 6.2.4 - December 6th, 2016 = * Fixed the way birthday field data was being handled / stored * Added version number to main AJAX JavaScript file - Thanks goes to Viktor Szépe for committing this change * Tested with WordPress version 4.7 (and updated the corresponding 'Tested up to' tag) * Added minor error handling and logic to the forms page = Easy Forms for MailChimp 6.2.3 - November 1st, 2016 = * Changed the way HTML field data is retrieved for compatibility with the options DB table and the Incentives Add-on * Fixed the path to the Knowledge Base on the welcome page * Refactored and localized the tinyMCE JS file * Fixed an i18n issue where an incorrect URL was being displayed in an error message * Changed the way the address field is displayed when viewing a mailing list user's info = Easy Forms for MailChimp 6.2.2 - October 25th, 2016 = * Minor security patch - Thanks goes to the Tristan Madani for locating and disclosing the issues below. * Fixed a bug where request variable "section" was not sanitize before execution and rendering * Fixed a bug where global constant "YIKES_MC_API_KEY" was not sanitize before execution and rendering * Fixed a bug where WP option "yikes-mc-api-key" was not sanitize before validating and saving = Easy Forms for MailChimp 6.2.1 - October 19th, 2016 = * Fixed a bug where the title and description will not display using the shortcode. * Fixed a bug where the `recaptcha` shortcode parameter doesn't work properly. = Easy Forms for MailChimp 6.2.0 - October 17th, 2016 = * Fixed a bug where the default for a radio button would not show up if the first item was selected ([#587](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/587)) * Fixed a bug where the form settings would not import properly ([#572](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/572)) * Fixed a bug in our Visual Composer extension ([#514](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/514)) * Fixed a bug where Interest Groups that are in radio format could not be changed when saving ([#584](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/584)) * Fixed a bug where the Phone Format field would continually append # signs ([#562](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/562)) * Fixed a compatibilty issue where our localized script variables were using common names ([#575](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/575)) * Updated the storage of form data to utilize the Options API instead of a custom database table. * Under-the-hood improvements and enhancements As noted above, this release modifies this plugin to utilize the Options API instead of a custom database table. After upgrading, a routine will run that will grab all of your forms from the custom database table and convert them into a WordPress Option that the code will use from this point forward. At this point, we're choosing to keep the existing custom database table in place, so you can rest assured that all of your form data will be safe. If for some reason you need to revert to using the custom database table, you can add a constant to your `wp-config.php` file: `define( 'YIKES_EMCE_CUSTOM_DB', true );` If you find that you *need* to do this, please contact us to let us know what you're seeing. In a future release, we will remove the custom database table entirely. = Easy Forms for MailChimp 6.1.3 - July 26th, 2016 = * Minor security patch - Thanks goes to the Wordfence Research Team for locating and disclosing the issue. * Cleared API/Account transient data when API key has changed. * Refactored our shortcode function to abort early, when no fields are present (inline or not). * Added `labels-hidden` class to the submit button `` element so we can better style inline forms when all labels are hidden. = Easy Forms for MailChimp 6.1.2 - July 21st, 2016 = * Fixed incorrect date format on date picker for birthday fields (Front end). * Ensure that hidden fields don't become visible when forms are submitted (.fadeTo() bug) * Built in support for defining a constant for your API keys in wp-config.php (`YIKES_MC_API_KEY` see FAQ) = Easy Forms for MailChimp 6.1.1 - July 20th, 2016 = * Added helper classes to the address fields to allow for easier targeting (Supports zip lookup extension). = Easy Forms for MailChimp 6.1 - July 11th, 2016 = * Sanitized section request on the options page properly. * Fixed the apostraphes converted to tildes. * Added the missing space in the form field classes when labels were hidden. * Added preloaders to the submit button and the form overlay. Lowered opacity during AJAX processing. * Fixed the 'Duplicate' form function. * Repaired phone number validation on the phone form fields. * Properly hide descriptions when they are not set. (Markup should no longer be generated) * Added a 'Clear API Cache' link below the associated list dropdown during form creation. * Swapped out `get_currentuserinfo()` for the correct, newer, functions. * Repaired undefined variable on the 'Birthday/Date' form fields, when no default was set. * Users can now bulk add fields to forms, instead of having to do it one at a time. * Removed any dependency to the RSS feeds served from https://www.yikesplugins.com, which could potentially cause issues if the servers are ever down. * Refactored the database creation function, and swapped out the field types - to support older versions of PHP (