Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/2.1.12'
Browse files Browse the repository at this point in the history
Signed-off-by: Ryan Hungate <[email protected]>

# Conflicts:
#	README.txt
#	bootstrap.php
#	includes/api/class-mailchimp-woocommerce-transform-orders-wc3.php
#	includes/api/class-mailchimp-woocommerce-transform-products.php
#	includes/vendor/queue/classes/wp-queue.php
#	mailchimp-woocommerce.php
  • Loading branch information
ryanhungate committed Jan 22, 2019
2 parents a2e958b + 97bc711 commit 3b08d45
Show file tree
Hide file tree
Showing 22 changed files with 449 additions and 122 deletions.
60 changes: 35 additions & 25 deletions README.txt
Original file line number Diff line number Diff line change
@@ -1,49 +1,49 @@
=== Mailchimp for WooCommerce ===
Contributors: ryanhungate, Mailchimp
=== MailChimp for WooCommerce ===
Contributors: ryanhungate, MailChimp
Tags: ecommerce,email,workflows,mailchimp
Donate link: https://mailchimp.com
Requires at least: 4.3
Tested up to: 4.9.8
Stable tag: 2.1.11
Requires PHP: 5.6
WC tested up to: 3.4.5
Tested up to: 5.0
Stable tag: 2.1.12
Requires PHP: 7.0
WC tested up to: 3.5.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Connect your store to your Mailchimp list to track sales, create targeted emails, send abandoned cart emails, and more.
Connect your store to your MailChimp list to track sales, create targeted emails, send abandoned cart emails, and more.

== Description ==
Join the 17 million customers who use Mailchimp, the world's largest marketing automation platform, to develop their e-commerce marketing strategy. With the official Mailchimp for WooCommerce integration, your customers and their purchase data are automatically synced with your Mailchimp account, making it easy to send targeted campaigns, automatically follow up with customers post-purchase, recommend products, recover abandoned carts, and measure the ROI of your marketing efforts. And it's completely free.
With Mailchimp for WooCommerce, you’ll have the power to:
Join the 17 million customers who use MailChimp, the world's largest marketing automation platform, to develop their e-commerce marketing strategy. With the official MailChimp for WooCommerce integration, your customers and their purchase data are automatically synced with your MailChimp account, making it easy to send targeted campaigns, automatically follow up with customers post-purchase, recommend products, recover abandoned carts, and measure the ROI of your marketing efforts. And it's completely free.
With MailChimp for WooCommerce, you’ll have the power to:
- Sync list and purchase data.
- Set up marketing automations to remind customers about items they left in their cart or viewed on your site, win back lapsed customers, and follow up post-purchase. (Now available for free accounts!)
- Showcase product recommendations.
- Track and segment customers based on purchase history and purchase frequency.
- View detailed data on your marketing performance in your Mailchimp Dashboard.
- View detailed data on your marketing performance in your MailChimp Dashboard.
- Find new customers, connect with current ones, and drive them all to your website with [Facebook](https://mailchimp.com/features/facebook-ads/) and [Instagram](https://mailchimp.com/features/instagram-ads/) ads. Then, set up [Google remarketing](https://mailchimp.com/features/google-remarketing-ads/) ads to turn your site visitors into shoppers.
- Automatically embed a pop-up form that converts your website visitors to subscribers.
- Add discount codes created in WooCommerce to your emails and automations with a Promo Code content block
- Create beautiful landing pages that make it easy to highlight your products, promote a sale or giveaway, and grow your list.
###Important Notes
This plugin supports our most powerful API 3.0 features, and is intended for users who have not yet integrated their WooCommerce stores with Mailchimp.
You can run this new integration at the same time as your current WooCommerce integration for Mailchimp. However, data from the older integration will display separately in subscriber profiles, and can’t be used with e-commerce features that require API 3.0.
This plugin supports our most powerful API 3.0 features, and is intended for users who have not yet integrated their WooCommerce stores with MailChimp.
You can run this new integration at the same time as your current WooCommerce integration for MailChimp. However, data from the older integration will display separately in subscriber profiles, and can’t be used with e-commerce features that require API 3.0.
WordPress.com compatibility is limited to Business tier users only.
At this time, the synchronization of product categories from WooCommerce to Mailchimp is not supported.
At this time, the synchronization of product categories from WooCommerce to MailChimp is not supported.
== Installation ==
###Before You Start
Here are some things to know before you begin this process.
- This plugin requires you to have the [WooCommerce plugin](https://woocommerce.com/) already installed and activated in WordPress.
- Your hosting environment must meet [WooCommerce's minimum requirements](https://docs.woocommerce.com/document/server-requirements), including PHP 7.0 or greater.
- We recommend you use this plugin in a staging environment before installing it on production servers. To learn more about staging environments, [check out these related Wordpress plugins](https://wordpress.org/plugins/search.php?q=staging).
- Mailchimp for WooCommerce syncs the customer’s first name, last name, email address, and orders.
- MailChimp for WooCommerce syncs the customer’s first name, last name, email address, and orders.
- WooCommerce customers who haven't signed up for marketing emails will appear in the **Transactional** portion of your list, and cannot be exported.
###Task Roadmap
You’ll need to do a few things to connect your WooCommerce store to Mailchimp.
You’ll need to do a few things to connect your WooCommerce store to MailChimp.
- Download the plugin.
- Install the plugin on your WordPress Admin site.
- Connect the plugin with your Mailchimp API Key.
- Connect the plugin with your MailChimp API Key.
- Configure your list settings to complete the data sync process.
###Advanced Queue Setup In CLI mode
To optimize the performance of your Mailchimp integration - it is recommended that you run the queue in CLI mode.
To optimize the performance of your MailChimp integration - it is recommended that you run the queue in CLI mode.
First define a constant in your config file
`define('DISABLE_WP_HTTP_WORKER', true);`
You have 2 options to run this process:
Expand All @@ -55,20 +55,30 @@ You have 2 options to run this process:
If you would like to turn off the background queue processing and handle jobs "on-demand" you can do so by adding a constant in your wp-config.php file:
`define('MAILCHIMP_DISABLE_QUEUE', true);`
### Multi-site Setups
The Mailchimp for WooCommerce supports Wordpress Multi Sites and below are a few things to note.
- Each site that has the plugin installed is a separate connection to Mailchimp.
- Deactivating - disables the plugin from sending data to Mailchimp. Upon reactivating the plugins original setup details will be intact. Deleting is necessary to connect a different Mailchimp list with WooCommerce.
The MailChimp for WooCommerce supports Wordpress Multi Sites and below are a few things to note.
- Each site that has the plugin installed is a separate connection to MailChimp.
- Deactivating - disables the plugin from sending data to MailChimp. Upon reactivating the plugins original setup details will be intact. Deleting is necessary to connect a different MailChimp list with WooCommerce.
- Deleting removes the connection between Mailchimp and WooCommerce, and uninstalls the plugin from your site.
Refer to the Wordpress Codex for more information about [Multisite Network Administration](https://codex.wordpress.org/Multisite_Network_Administration)
== Changelog ==
= 2.1.12 =
* adds error handling for blocked admin-ajax.php files
* adds support for customer merge variables
* removes global variable overwrite of REMOTE_ADDR
* fixes signup form not adding customers to Mailchimp
* support for rate limiting
* PHP 7.0 requirement messaging
* support for WooCommerce 3.5.0
* ignores amazon marketplace addresses
* fixes cart entries never being removed
= 2.1.11 =
* fix double opt in sending on transactional customers
= 2.1.10 =
* skip product when no variant can be loaded
* better validation for the view order url
* Add Initial sync label on Sync Tab
* Multisite Delete and deactivate improvements
* Mailchimp Order Notification issues support for downloadable and virtual products
* MailChimp Order Notification issues support for downloadable and virtual products
* http worker lock improvement
* Add documentation about Multisite setup
* Add documentaiton for on-demand syncing
Expand Down Expand Up @@ -141,14 +151,14 @@ Refer to the Wordpress Codex for more information about [Multisite Network Admin
* Support for manually uploaded WooCommerce
* Fix for sync issues
* Fix for guest orders sync issue
* Remove Mailchimp debug logger
* Remove MailChimp debug logger
= 1.1.1 =
* Support for site url changes
* Fix for WP Version 4.4 compatibility issues
= 1.1.0 =
* Fix for persisting opt-in status
* Pass order URLs to Mailchimp
* Pass partial refund status to Mailchimp
* Pass order URLs to MailChimp
* Pass partial refund status to MailChimp
= 1.0.9 =
* billing and shipping address support for orders
= 1.0.8 =
Expand Down Expand Up @@ -192,7 +202,7 @@ Refer to the Wordpress Codex for more information about [Multisite Network Admin
* fix free order 0.00 issue
* fix product variant naming issue
= 0.1.15 =
* adding special Mailchimp header to requests
* adding special MailChimp header to requests
= 0.1.14 =
* removing jquery dependencies
= 0.1.13 =
Expand Down
8 changes: 8 additions & 0 deletions admin/class-mailchimp-woocommerce-admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,14 @@ protected function validatePostApiKey($input)
'mailchimp_account_info_username' => null,
);

if (($failure = mailchimp_woocommerce_check_if_http_worker_fails())) {
unset($data['mailchimp_api_key']);
$data['active_tab'] = 'api_key';
$data['api_ping_error'] = $failure;
mailchimp_error('admin@validateCanUseHttpWorker', $failure);
return $data;
}

$api = new MailChimp_WooCommerce_MailChimpApi($data['mailchimp_api_key']);

try {
Expand Down
2 changes: 2 additions & 0 deletions admin/partials/mailchimp-woocommerce-admin-tabs.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@
try {
if ($handler->hasValidApiKey(null, true)) {
$has_valid_api_key = true;

// if we don't have a valid api key we need to redirect back to the 'api_key' tab.
if (($mailchimp_lists = $handler->getMailChimpLists()) && is_array($mailchimp_lists)) {
$show_campaign_defaults = false;
$allow_new_list = false;
}

// only display this button if the data is not syncing and we have a valid api key
if ((bool) $this->getData('sync.started_at', false)) {
$show_sync_tab = true;
Expand Down
Loading

0 comments on commit 3b08d45

Please sign in to comment.