Name: woogc/ps/synchronize_product/synchronize_product_data
Type: Action
Arguments: $prop_title, $prop_value, $child_product, $main_product_data, $origin_product_blog_ID
Arguments
Parameter
Type
Description
$prop_title
string
The name of the product property currently being synchronized (e.g. price, description, custom meta key, etc.).
$prop_value
mixed
The value of the property being synchronized.
$child_product
WC_Product object
The WooCommerce product object on the child site that is being updated.
$main_product_data
array
An associative array containing the full dataset of the origin product. Useful for syncing multiple fields.
$origin_product_blog_ID
int
The blog ID of the origin product (source site).
This hook is triggered on synchronizing custom product data for every product property and metadata, to perform...
View More
The WooCommerce Global Cart plugin streamlines order management by implementing a Global Order functionality, ensuring that orders are seamlessly physically synchronized across designated shops within your network. With synchronization occurring both during order creation and updates, businesses can maintain consistency and reduce manual workload.
In cases where an order created prior to enabling the synchronization feature needs to be migrated to a different shop, a manual trigger through custom code offers a reliable solution. This targeted approach allows for flexibility...
View More
The Split function in the WooCommerce Global Cart plugin is a powerful feature that enables the division of a main order into separate orders across various shops containing products in the cart. This functionality is particularly beneficial in multi-vendor environments, ensuring each shop processes its respective products independently.
The split engine's flexibility allows for programmatic extensions, primarily through the woogc/single_checkout/split_order/order_created filter. This filter is instrumental in customizing the behavior of split orders during their creation. By hooking into this filter,...
View More
UPDATE: This feature has been integrated into the core of the plugin and can now be activated in the Settings.
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...
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
Splitting Orders, is a powerful tool when working with separate shop managers and merchants. That helps to create split orders with products that belong to different shops in the network. So each of the shops that had at least one product in the cart, will receive an order with its own products.
A split can be ignored for the shop, where the check-out occurs. Or the main order can be hidden, on the checkout site and show the split...
View More
WooCommerce Tax area provides the necessary tools to create the required taxation for on-sale products. Setting up Taxes in WooCommerce is straightforward, through WooCommerce > Settings > Tax interface:
Different tax classes and appropriate Rates, per specific Country, State, Zip, City etc area configurable:
On check-out, the current shop tax set-up applies to all products in the shopping cart. The check-out location is settable through the plugin options, or this can be free to choose by the customer. I such case,...
View More
Name: woogc/get_cart_from_session/validate_hash
Type: Filter
Arguments: $force_validation, $values
When reconstructing the cart from session data, WooCommerce checks each of the products for validation. That includes existence, quantity, purchaseability, data hash. It happens, if a plugin implements a custom product type, if not active/available for a specific shop, the WooCommerce removes it from the cart. This is caused by a data hash that does not match anymore.
This filter can be used to force hash validity for specific products in the cart.
For example, if using the...
View More
On the Synchronization screen complete, custom JavaScript can run. To achieve this, the following code is required within a js file, that is loaded along the page:
document.addEventListener( 'woogc/sync-done' , function (e) {
alert ('Triggered Event sync-done');
//further JavaScript code
...
View More
Looping through the Cart Items is straightforward and achievable through the code:
When the cart includes products from different shops ( within the MultiSite Network ), the same code can be used. Still, a...
View More
As default, when using Single Shop Check-out type, WooCommerce calculates the shipping costs globally for all products in the cart, independently of the origin of the item, to what shop it belongs in the network. The used shipping rules and rates are the one's set up on the shop being used for the check-out process. This is enough for most shop administrators, if providing a single package with all customer items.
The new functionality controlled through the Calculate Shipping...
View More
Each of the Network Shops run their own cart page. This can be changed so the cart link redirects the user to a specific Shop Cart in the network, which is usually the Check-out Shop, when using Single Site Check-out type.
The feature can be achieved through a custom code. The WOOGC_REQUIRED_CART_URL value should be updated with the required shop cart URL:
<?php
define('WOOGC_REQUIRED_CART_URL', ...
View More