This guide will show you how to quickly and easily turn your MyListing website into a multivendor marketplace, creating additional value for your listing owners while generating another revenue stream for your website using WooCommerce Product Vendors.
WooCommerce Product Vendors allows vendors to sell their products on your website. In return, you can take a commission on sales to help cover the costs of running and managing your website while you focus your efforts on building a community.
Note: WooCommerce Product Vendors is the only multivendor marketplace plugin officially supported and recommended by the official MyListing development team. However, this isn’t to say it’s the only solution that works.
PayPal Setup
You can use any WooCommerce payment gateway to accept payments on your website. However, vendors must be paid using PayPal Payouts.
PayPal Business Account
If you haven’t already done so, you’ll start by creating a PayPal business account.
Once your account is in place, you’ll want to add some funds to your account, and the amount depends on factors like how many vendors you are starting with, the cost of their products, the commission rates, etc. In short, you want to ensure you have enough funds in your account to cover the launch of your marketplace and avoid being unable to make a payout.
Ideally, once your marketplace gets rolling, you’ll funnel your commission into your PayPal account, knowing you can always withdraw it.
PayPal Developer Account
After your PayPal business account is ready, you’ll need to jump over to the PayPal Developer side and set that up. You start by creating a Sandbox environment that will be used to test your transactions.
Once your Sandbox environment works, you can set up the Live environment. PayPal’s website provides the steps for setting up both environments, and you can use their support feature to fill in any gaps if needed.
WooCommerce Product Vendors Setup
Payments
- Install and activate the WooCommerce Product Vendors plugin.
- Browse to WooCommerce > Settings > Products > Vendors.
- Payout Schedule > Choose your desired payout schedule. (Note: I recommend starting with a manual payout schedule while your marketplace is still new.)
- PayPal Payouts Environment > Select the Sandbox environment.
- (Sandbox) PayPal Payouts API Client ID > From your PayPal Sandbox environment, copy the Client ID and paste it here.
- (Sandbox) PayPal Payouts API Secret > From your PayPal Sandbox environment, expose the secret, copy the Client ID, and paste it here.
- Save changes. (Note: Your environment should now be in Sandbox mode and ready to take test payments.).
- Repeat steps 4-7 for the Live environment.
- Default Commission > Optionally, choose a default commission amount, which is the amount you will pay a vendor for each sale by default. (Note: This step is optional if you set a unique payout amount for each vendor.).
- Commission Type > Choose whether your default commission being paid out will be a percentage for a fixed amount.
- Save changes.
Display
WooCommerce > Settings > Products > Vendors > Display
This section boils down to whether you want to display the information and branding for each vendor in your marketplace. If you want to make it appear that everything is being sold under your brand, you can uncheck all the settings here and save your changes.
Shipping
WooCommerce > Settings > Shipping > Vendors Per Product Shipping
If your marketplace sells physical products that require shipping, this section may apply to you. Per-product shipping allows you to define different shipping costs for products per vendor based on customer location.
However, if your marketplace is strictly for digital goods, you can disable shipping and shipping calculations in WooCommerce by going to WooCommerce > Settings > General > Shipping location(s).
Vendor Registration
The store owner can manually add vendors, or you can automate the process by displaying a registration form on your website.
Registration Form
When you create the page where your form will be, you can use the default WordPress editor or Elementor Pro. I recommend using Elementor to create your vendor registration page; otherwise, you will need to address the styling/formatting with some CSS.
Anyone who uses the registration form will automatically be added as a pending vendor, so you may want to consider where this form is placed on your website and use Cloudflare Turnstile (Free) to help prevent SPAM registrations.
- Create and publish a ‘Vendor Registration’ page.
- Edit your page with the default WordPress editor or Elementor.
- If you are using the default WordPress editor, add a shortcode block to the page; if you are using Elementor, add a shortcode widget.
- Place the [wcpv_registration] shortcode into the block or widget added in the previous step.
- Add links to your vendor registration page throughout your website so prospective vendors can apply to be a part of your marketplace.
Placing the Registration Form
There are several ways to approach this task, but with MyListing websites, I would venture to bet that website owners would prefer to hide the registration form entirely from the front end or hide the form until someone has successfully logged in. The MyListing Pro Content Visibility module helps with either approach.
My approach is to place the registration form in the main navigation (hidden from those not logged in) and on a welcome page when new customers sign up. I first want people to come in through my website as listing owners; otherwise, even users with good intentions (i.e., they want to be a listing owner) might sign up as a vendor and then be unsure what to do next.
Approving Vendors
As the website/store owner, you will be notified via email about any new registrations and will be able to approve vendors before they can sell within your marketplace. After someone registers to become a vendor, they will show up as a Pending Vendor within the Users area of WordPress, and you can use the steps below to approve (or remove) vendors.
- Users > Pending Vendors.
- Click on the user account to edit it.
- Change the role to Vendor Admin, or you can set it to Vendor Manager if you wish for them to have fewer permissions.
Manual Registration
- WordPress Dashboard > Users > Add New
- Fill in the desired info, set the role to ‘Vendor Admin,’ and click the ‘Add New User’ button.
- Products > Vendors > Add the vendor’s name.
- Click the ‘Add New Vendor’ button to add the vendor.
- Edit the new vendor account.
- Vendor Admins > Specify the user from the previous step.
- PayPal Email > Enter the email address your vendor would like to use for payouts.
- Time Zone > Choose the vendor’s closest city (i.e., time zone) so the sales records reflect their time zone correctly.
- Save changes.
Vendor Login
Vendors can log into their dashboard from the back end of your website using the traditional WordPress admin login URL (e.g., https://domain.com/wp-admin/). You need to place the link somewhere they can get to it, like your regular navigation menu, the MyListing Dashboard menu system (i.e., WooCommerce Endpoints), etc.
Vendor Dashboard Endpoint
To implement a ‘Vendor Dashboard’ endpoint, you must create a custom WooCommerce menu for your endpoints if you haven’t already done so.
WooCommerce Menu
- WordPress Dashboard > Appearance > Menus
- Click the ‘create a new menu’ link.
- Name the menu ‘WooCommerce’ or something similar.
- Add all your desired endpoints (‘My Account,’ ‘My Listings,’ etc.).
- Check the ‘WooCommerce Menu’ checkbox.
- Save changes.
Add the Vendor Dashboard Endpoint
- Add Menu Items > Expand ‘Custom Links.’
- URL > Enter ‘https://your-domain.com/wp-admin/‘ or ‘https://your-domain.com/login/,’ depending on your approach.
- Link Text > ‘Vendor Dashboard’.
- Click the ‘Add to Menu’ button.
- Drag the menu item to the desired location within the menu, ensuring that it is at least placed above the ‘Logout’ menu item.
- Optionally, go back and add an icon (e.g., [27-icon icon=”fa fa-store”] before the ‘Link Text’ using the MyListing Icon Shortcodes (Theme Tools > Shortcodes).
- Save changes.
Vendor Dashboard Endpoint Visibility
I recommend using the MyListing Pro Content Visibility module to hide the Vendor Dashboard endpoint from those not yet assigned the Vendor Admin or Vendor Manager roles. This helps prevent users from hitting your website’s admin URL (/wp-admin/) and keeps things cleaner overall for non-vendors.
Vendor Dashboard
Once a vendor is logged in, they can access their dashboard and have full transparency into all aspects, with both website owners and vendors seeing the same information. Much like WordPress’s WooCommerce Status dashboard view, the vendor dashboard has an excellent sales summary for multiple areas, including monthly net sales, commission, product stock, and more.
Orders
https://domain.com/wp-admin/admin.php?page=wcpv-vendor-orders
As mentioned, vendors have full transparency into any orders placed on the website for their products, knowing which were purchased, the order dates, and the commission information. For any physical products that involve shipping, vendors can use the orders area to mark their orders as FULFILLED.
Reports
https://domain.com/wp-admin/admin.php?page=wcpv-vendor-reports
Vendors can easily view and export sales reports and stock levels.
Media
https://domain.com/wp-admin/upload.php
In this area, vendors can add and manage their product images without gaining access to the entire media library or libraries of other vendors.
Note: I recommend implementing image governance on your website to prevent vendors from being able to upload massive image files.
Products
https://domain.com/wp-admin/edit.php?post_type=product
In this area, vendors can add and manage all of their products.
Vendor Product Flow
- Vendor Dashboard > Products > Add New
- Enter all of the product information.
- Click the ‘Submit for Review’ button.
- The website owner will get an email for the submitted product so they can review it before it gets published.
Educating Vendors
Categories
I recommend setting up product categories in WooCommerce for your vendors to use when submitting their products, as these categories will help keep their products out of your website’s main store. Educate vendors regarding assigning a proper category to their products.
Product Types
Just because vendors create a product of a particular type (simple product, variable product, etc.) doesn’t guarantee it will be allowed in their listing. A listing type’s Products field defines the type of product that is allowed in listings. Educate vendors regarding the product types that are allowed.
Store Settings
In this area, vendors can update their information, see their commission rate, and improve their profile by adding a logo, writing a vendor introduction, providing an introduction video, etc.
PayPal Email
https://domain.com/wp-admin/admin.php?page=wcpv-vendor-settings
This is where vendors must go after creating their account to specify their PayPal email address. Vendors must have a verified PayPal account to receive commission payments.
Support
https://domain.com/wp-admin/admin.php?page=wcpv-vendor-support
In this area, vendors can request support from the website owner by emailing them.
By default, any emails sent from this location will go to the website’s administration email address (WordPress > Settings > General), so it’s essential to use an email address that will be regularly checked.
Suppose you want to change who the support emails go to. In that case, you can do so under the ‘Vendor Email Options’ (WordPress Dashboard > WooCommerce > Settings > Emails > Vendor Email Options > Vendor Support Email Address).
Styling the Vendor Dashboard
By default, WooCommerce Product Vendors does not provide the sexiest dashboard but does get the job done. If you want to enhance the design, I recommend UiXpress, which helps website owners get a jumpstart on improving the design of the WordPress Dashboard, including the WooCommerce Product Vendors dashboard.
With the flip of a switch (WordPress Dashboard > Settings > uiSettings > Theme > Admin Theme > Enable), website owners can apply a more modern-looking dashboard.
Single Listing Storefront
Since we are working with the MyListing theme, the primary focus is to allow vendors to display products within the Listings. However, this guide also covers other ways to display vendor storefronts to create additional monetization options.
Listing Type Configuration
Vendor Products Field
The following steps get your listing type ready to allow vendors to add their products to their listing.
- Listing Types > Edit Listing Type > Fields
- Add the ‘Product Multiselect’ field.
- Select the types of products the vendors are allowed to upload.
- In the description field, let vendors know what products you allow them to add.
- If you are using Package Visibility, set it here to comply with the features displayed in your listing packages.
Vendor Store Tab
The following steps prepare your listing type to allow vendors to display their products within their listing.
- Listing Types > Edit Listing Type > Single Page > Content & Tabs
- Add the ‘Store’ tab.
- Give the tab a label (e.g., Store).
- Select the vendor products field you created above for the ‘Display products from field:’ dropdown.
- Toggle on the ‘Hide tab if there are no products’ setting.
- Save changes.
Adding Products to Single Listings
When vendors go to add their first listing or edit existing listings, they can add the products they’ve made available in their private store.
An Important Note About Design
If you do not design shop templates with Elementor Pro or by hand with CSS, whenever someone clicks on a vendor’s ‘Sold By:’ link within their listing, they will be taken to your default shop page design/template. This is often highly undesirable, as the default shop template MyListing provides a very basic look and does not look professional without some additional design.
In the next section, I will talk about how to apply custom designs quickly and easily.
Non-Listing Vendor Stores
Website owners might also want to display vendor stores outside the vendor listings, which provides an excellent option for selling more expensive listing subscriptions and one-off product upsells.
To display the vendor stores, you need to create a Vendor Shop Template using Elementor Pro for each vendor selling on your platform and use Elementor display conditions to assign the vendor’s template specifically to them.
You can hide the header and footer areas to keep WooCommerce pages distraction-free (and light). This makes the breadcrumbs even more critical.
High-Level Implementation Steps
The steps below are for building your template from scratch. Another option is to start with one of the Club’s Vendor Page Templates.
- Create a Vendor Store Template using Elementor Pro and name it according to the vendor to which it will apply.
- Add a heading widget and the vendor’s name, followed by the word ‘Store’ (e.g., Starter Vendor’s Store).
- Optionally, add Elementor’s breadcrumb widget.
- Adjust the WooCommerce Products widget to display products from a specific vendor.
- From the Elementor settings panel, choose the ‘Elementor Canvas’ page layout, which hides the heading and footer areas and provides a more distraction-free shopping experience.
- Using Elementor’s Display Conditions, assign the template to a specific vendor.
That’s about it. Now, any time someone visits the vendor store directly or clicks on any of the vendor’s products within their listing(s), they will be shown the vendor’s unique store.
Vendor Commission
Since we are manually paying out commissions for this guide, I’ll cover that process.
- WordPress Dashboard > Commission
- Select the unpaid commission and Pay Commission from the Bulk Actions menu.
- Click Apply.
At this stage, you should see a message about the item(s) being processed and that the paid status will be updated in a few minutes. Once the commission payment goes through, the commission status will switch from UNPAID to PAID.
Email Notifications
Several emails are set up in Product Vendors for vendors and the store owner.
- Vendor Registration (Store Owner) – Sent when the vendor submits the registration form.
- Vendor Registration (Vendor) – Sent to confirm that the registration form was submitted to the store owner with a link to set a new password.
- Order Email (Vendor) – Notifies vendor of a new order.
- Canceled Order Email (Vendor) – This email is sent to notify the vendor that the customer has canceled the order.
- Vendor Approval – Sent to vendors with a login link when registration is approved.
- Product Added Notice – Sent to the store owner for review when a vendor adds a product.
- Order Note to Customer – Sent to the customer when the vendor adds a note, e.g., tracking number or personal thank you.
