Search

Does WooCommerce Work on WordPress Multisite?

    Pooja Mistry
Listen to this article

woocommerce-multisite-setupClearly users do not have an idea of WordPress multisite. They think a plugin which works on a single site will work on multisite just as well. Or even better! It will work according to their requirements, whereby some functionality is unique to each site, and a part of the functionality is shared across the network. Phbbbt!

It does NOT miraculously work that way. Not, unless already stated by the plugin, or without any customization. WooCommerce is an example. It works on WordPress multisite. But the functionality that users could expect, might not be available by default. And that is perfectly fine.

What is important, is that, you are aware of how WooCommerce works on a WordPress multisite setup. This can help you set a realistic cap on your expectations.

[space]

You might also like 6

What happens when you Install WooCommerce on a Multisite?

WooCommerce is multisite compatible. This means, when you install and activate the WooCommerce plugin, it will be activated on all sites, and there will be an option to create a store, set up products for each site on the multisite. Individually. Each store will be independent of the other.

So, say I have 3 sites in a multisite- Blue, Orange and Purple (with Purple being the main site). When I install and activate WooCommerce on Purple, it will be activated on Blue and Orange as well. When I add products on Purple, or update some settings the changes will not be reflected on Blue or Orange, by default.

Adding products across all sites might be tricky, but there is an option to update WooCommerce settings across all sites.

How to update WooCommerce settings updated across all sites?

To update the plugin’s settings across all sites in the network, you can make use of the YD Network-wide options. This plugin adds a new settings page, using which you can choose the blog or plugin settings you want the settings replicated. The changes have to be made from your main site.

With that settled, let’s talk about customers.

[space]

What Happens when a User Account is Created?

In WordPress multisite, the users are shared. Specifically, the WordPress User table is shared. But this wouldn’t mean a user can access all sites with a single login. This can be made possible only, if you grant a user the access to other sites.

For example, say a user registers on Orange as a WooCommerce store customer. The user will be created as a usual WordPress user, but will have the permission to login only in Orange’s WooCommerce store. But this user won’t have login access to Purple and Blue, even if I would need it to function this way. There would be some code involved.

But, since the user table is shared, my job becomes simpler. Each time a user is created, I have to register on the user registered hook (user_register), and grant permissions to access other sites (Purple and Blue). The login credentials will be the same, and once the user will login into one site, he will be logged in across all sites.

You can do this with a plugin as well. The Multisite User Management plugin, boasts of providing the exact functionality.

Next, let’s talk about products.

[space]

What Happens when a Product is Added in WooCommerce?

When a WooCommerce product is created, it is added only to a particular site. The site it is created on. For example, if I create a product on Purple, it will be added only to Purple’s store. Like users which are shared across all sites, products cannot be shared. However, products can be replicated.

For this, we have to use the WooCommerce API (with version 2.1 or higher), which will make our task simpler rather than creating a custom post, to then copy details and meta data, adding images and taxonomies.

You have to ensure that whenever a product is updated, the changes are accordingly reflected as well. To make things simpler, you could use the main site to add or update products.

[space]

Can Orders be Aggregated on the main Site?

For every purchase made, an order is created. Several WooCommerce users, want an aggregated view of customer orders. This could be, because all sites are managed by the same admin. If you’re dead sure that WooCommerce multisite suits your requirements, the optimal option you have here, is to use an external order management system, to manage all orders in a single place.

The reason for this is that managing orders on a single site could be tricky. To start with all products will HAVE to be replicated across all sites. Because orders will have to be maintained on a single site. Since orders are added to a customer’s account, any changes made there, have to reflect in the aggregated order view.

Pssst.. As for the WooCommerce multisite cart? I’ve spoken a lot about it before. So I won’t be covering it all over again here.

[space]

There are very many points I can cover here. But it’ll be a lot to take in for just one article. Because any changes which have to be made would depend on your requirement. By no means is WooCommerce supposed to provide you the above-stated functionality, just because a majority of you might have a similar need. The plugin does not claim to provide this, but there are ways to work with it (or around it), to make it work according to your requirements. If you have any questions for me, do feel free to leave your comments in the comment section below.

You might also like 6

Pooja Mistry

Pooja Mistry

18 Responses

  1. I am using woocommerce on wp multisite, I am having problem with cart update. Cart is not getting updated for all users. One’s cart items remain in the cart after its logout and they’re visible to other users on after their login.

  2. Thanks for your precious post.
    I was looking for a woocommerce multisite theme, but I must say there are really few.
    Reading your post I get I could obtain the same result of a native woo multisite theme, installing a classic woocommerce theme.
    I’ve just one doubt I’m going to explain.
    My woocommerce project it’s a markeplace model of a niche of products, so all the vendors of the subsites will sell similar items.
    I was wondering if with a classic woocommerce theme converted for multisite scenario, I’d be able to aggregate all the items of the subsites in a master page where the customers can browse through all the categories.

    Let’s say, the customer goes to the main page of the marketplace, and can browse to the categories: A / B/ C.
    Each category contains all the items that the different sellers uploaded in their own subsite-shops.

    Does it work in this way? Or is the customer forced to jump from a subshop to another to view items of the same category? let’s say category A.

    It’s probably a banal question, but at this moment I’m a bit lost.

    Hope in your answer
    Thanks in advance

    1. Hey Frans,

      Based on my understanding of your requirement, with a bit of customization (similar to the code mentioned here), you will be able to display products on your main site. But the customer will have to navigate to the sub-site to make a purchase.

  3. Thanks Sushma, thanks for your advice: I’ll read that post and I come back here to give my opinion on that.

  4. Hey RogerD,
    Thanks for your contribution, I know woomultistore and after reading well its documentation I’ve to give up with that.
    Be sure to know what woomultistore does.
    As I’ve wrote above, my project is a Marketplace, also said multi vendors system on Multisite, but woomultistore does not work as Marketplace.
    I’m going to say in detail what I mean: in a marketplace a vendor upload its own items in its page/ in this case subshop and these items will be grouped by taxonomy in main categories that you can browse through by the main directory.
    Well, woomultistore does a different thing: the vendor upload its items and can check the network tab to share its own products across all the other subshops: it replicates an item shop’s page to all the stores in order to save time.
    It’s a useful function but it’s not what a marketplace does: think, you have a marketplace for fruits: the shop A sells apples and the shop B sells bananas: the apple’s shop will end displaying also the bananas and viceversa.

    What a markeplace does is what Ebay, Amazon, Etsy do, with the difference that there vendors do not have a subsite, but just a shop page which is part of a single installation, while in a markeplace on wp multisite as I’m looking for, you can browse from the homepage through all the categories as you do on ebay ecc ecc but when you click on an item, you ll redirected NOT to the page of the seller, but to the subshop created on the subsite of the seller and every seller will have displayed in their shop just the items they’ve uploaded and not all the items of all the sellers of the website.
    Hope I didn’t mess up too much with my english :S

  5. @Sushma B , I’ve just read the brillant post of yours you kindly linked above.

    I’ll write here my thoughts, even if I think I’ll add a comment also below your post too.

    When you say: (( #3 Listing Posts from all Blogs on the Main site )) it’s exactly what I was looking for talking about markeplace, so of course I’ve to change the blog variables to the woocommerce ones I guess.

    And regarding your reply to my first above message when you say (( But the customer will have to navigate to the sub-site to make a purchase)), Well it’s perfectly fine to me cause I guess it’s what happens when a buyer click on an item dysplayed on the main page, meaning that as soon as the user click on the item, will be brought to the page where the item was uploaded, that is the subshop of the seller itself.
    I hope my understanding is correct and would be really perfect if should be really like this.

    There’s something I still do not have clear in my mind.
    Let’s say we have a markeplace of fruit vendors: some sell just one type of fruit, some other sell different types of fruit:
    Vendor A: sells apples
    Vendor B; sells bananas
    Vendor C; sells peaches
    Vendor D: sells all the fruits mentioned above.
    So, the marketplace have 3 main categories: apples / bananas / peaches and vendors sell their fruit, so they write up a unique description for their particular items, take photos and so on.

    What I’d need is having the main page of the marketplace where buyers can select what category they want to browse in, or select directly to watch the items of the vendor A, or B, or C or D.

    I’m a bit confused at the moment I’m writing this, so it’s probable I’m missing something very simple.
    Is that possible simply adding these voices ( categories/ vendors) in a common woocommerce theme?
    Guess I should play with tags and menus to achieve that, but I’m a bit lost now.

    Thanks since now for your time

  6. Could you please tell how Payment works. For Ex: There are three multisite, Say multisite1, multisite2,multisite3. If user purchases some product from multisite1, then the order and payment should go to multisite1 owner/admin and predefined % should go to super admin. Same case if user purchases from multisite2. Is it possible to implement?

    1. Hi Shree,

      There are plugins which work on single site installations, that can be setup to provide admins a commission. But there isn’t a plugin that works the same on a multisite installation, at least not the way you have mentioned.

      The YITH Multi-vendor plugin works with WP multisite, but the plugin has to be setup on every site, and provides the site admin (not the super admin) a commission when a purchase is made.

  7. Has anything changed since this was posted? I’m looking/hoping to be able to create a multisite setup… that doesn’t share any product, but shares Users/Customers/Orders… Is it more possible, and easier now?

  8. Hi There

    I wanted to ask Is it possible use main site’s db tables for all the Subsites in wordpress multi site network? I am setting a set of stores in WP in which all the sites will be using same data that is on the main site with an exception of ability to change pricing of each product on each sub site. Other than pricing, everything should be fetched from main site tables and everything should be sent to main site tables. By sending i mean, every order should go to main site.

    Is this even possible? Otherwise what i am thinking to do is to insert the order manually into main site’s tables once an order is completed on any of the subsites.

    Any help will be highly appreciated.

  9. Hi, my apologies for what’s probably a really basic question. I’d like to use Woocommerce for multiple stores (multisite) – but I want to use totally different themes for the store design because the products we sell in each store are totally different.

    Is this possible?

    Thanks very much.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get The Latest Updates

Subscribe to our Newsletter

A key to unlock the world of open-source. We promise not to spam your inbox.

Suggested Reads

Join our 55,000+ Subscribers

    The Wisdm Digest delivers all the latest news, and resources from the world of open-source businesses to your inbox.

    Suggested Reads