WooCommerce Global Cart is an indispensable tool for managing multisite networks, enabling a unified shopping experience across multiple stores. Synchronizing orders across the network may be a required feature for streamlined management and optimal customer service. Here, we delve into how order synchronization can be achieved, exploring the default options, the Network Orders interface, and how advanced users can implement custom synchronization using the WordPress API.
Checkout Types and Default Order Creation
WooCommerce Global Cart offers two types of checkout processes:
...
View More
By default, WooCommerce retains synchronized products when a main product is deleted. However, you may want to change this behavior to automatically remove synchronized child products when the main product is deleted. This can be achieved by adding custom code to your site.
Here’s how you can implement this functionality:
add_action( 'before_delete_post', 'wogc_before_delete_post', 1, 2 );
/**
* Remove synchronized child products when a main product is deleted.
*
* @param int $postid The ID of the product being deleted.
* @param...
View More
WooCommerce’s persistent cart feature is designed to save cart contents for logged-in users, enabling them to pick up where they left off. However, when using the WooCommerce Global Cart plugin, this functionality may not always be desirable. Specifically, persistent cart behavior can cause the user’s saved cart to merge with their existing global cart upon login.
If your store relies on WooCommerce Global Cart to synchronize carts across multiple sites or sessions, disabling the persistent cart ensures a cleaner, more...
View More
Name: woogc/sequential_order_number/format
Type: Filter
Arguments: (int) $order_number, (int) $order_id
The woogc/sequential_order_number/format filter in WooCommerce allows you to customize the format of the order number generated for new orders within the WooCommerce Global Cart. This filter can be used to modify the default sequential order number by prepending or appending custom prefixes, suffixes, or any other modifications to suit your business needs.
Example Usage
The following code example demonstrates how to customize the order number format by adding a custom prefix to the order number:
...
View More
Name: woogc/global_cart/sites
Type: Filter
Arguments: (array) $sites_ids
The following code snippet demonstrates how to synchronize the current shop with only the designated checkout site. This selective synchronization is particularly useful when you want to minimize the number of shops involved in the network, ensuring that only the current site and the checkout site are synced. This approach optimizes performance and reduces unnecessary data transfer, focusing the synchronization process on the essential sites only.
By utilizing the woogc/global_cart/sites filter, you can easily define which sites...
View More
The WooCommerce Global Cart offers a powerful solution for businesses operating multiple online stores within a WordPress Multisite network. By synchronizing products across these shops, merchants can ensure consistency in product offerings while simplifying inventory management. However, one challenge that arises with this setup is the need to accurately track sales for synchronized products across the entire network.
To address this challenge, developers can implement custom functions to retrieve essential data, such as the total number of network sales for...
View More
Name: woogc/ps/interfaces/sync_to_shop
Type: Filter
Arguments: $status, $remote_blog_id, $post
The filter can be used to change the synchronization interface button status from active to inactive or vice versa.
For example, when creating a new product, the buttons will show up active as default:
add_filter ( 'woogc/ps/interfaces/sync_to_shop', 'woogc_ps_interfaces_option_status', 10, 3 );
add_filter ( 'woogc/ps/interfaces/maintain_child', 'woogc_ps_interfaces_option_status', 10, 3 );
add_filter ( 'woogc/ps/interfaces/maintain_categories', 'woogc_ps_interfaces_option_status',...
View More
Name: woogc/ps/interfaces/synchronize_to_sites
Type: Filter
Arguments: $sites
The filter allows you to regulate the shops that are accessible within the Synchronization Interface, determining where the feature is available.
The following example check if the edit page is for product ID 33 and 44. If match, it disable the synchronization option to the Shop ID 2:
add_filter ( 'woogc/ps/interfaces/synchronize_to_sites', 'woogc_ps_interfaces_synchronize_to_sites' );
function woogc_ps_interfaces_synchronize_to_sites( $sites )
{
...
View More
When utilizing the Single Checkout option, all products within the global cart undergo processing within a designated shop. Conversely, when opting for the Split function, individual orders are generated within each of the shops that contributed products to the cart.
Upon the completion of the checkout process, a page titled 'Order Received' is presented to the customer.
To seamlessly redirect the customer to the 'Order Received' page hosted on the shop where the origin product was located, you can make use...
View More
The capability to Split Orders is a valuable resource when dealing with independent shop administrators and vendors. It enables the creation of orders divided by-products from different shops within the network. As a result, each shop that has contributed products to the cart will receive an order comprised solely of its own products.
WooCommerce is designed to automatically send relevant email notifications for every order placed. However, in some situations, this automatic notification system may not be suitable, requiring greater...
View More