How to create multi vendor shop on wordpress
What is multi vendor shop? This is shop which has many sellers. For example, popular Amazon or Ebay are typical multi vendor stores. And today I will explain some ways how to build multi vendor shop on wordpress and Rehub Theme
First of all, install Woocommerce plugin. Please, read our section for woocommerce in documentation. Second plugin which you will need is vendor plugin.
Which vendor plugin you should use?
Dokan has much better design, store list, frontend form even in free version of plugin. It has also many cool, nice designed addons, like booking addon, geo addon, invoices, etc. But it’s most expensive plugin. Free version is very limited.
WCFM is best if you need maximum functions. Even free version has more functions than PRO versions of other plugins. WCFM has a lot of unique addons and it has compatibility with most of popular woocommerce plugins. For example, you can create membership site with unique vouchers, hotel site, tour site, site where vendors can sell bundles, parts, like computer services or rent services. If you need very specific things – use WCFM, it has everything which you ever can imagine and highly customizable. PRO version (Ultimate WCFM) is most cheapest among vendor plugins. All addons are also very cheap. Negative side – design and UI of some pages can be outdated in plugin in comparison with Dokan. For example, price tables and membership pages can be too different from design of your theme. But good news, we customized design of store pages, membership pages, price tables and many other things in plugin to make it more clean and better fit to site design on Rehub. Also, all initial default styles will be auto populated from theme’s color options, but still you can edit them if you want to make custom color settings.
WC Marketplace – I think it’s something average between WCFM and Dokan. It’s cheaper than Dokan and also has many addons. My most favorite is Membership addon. If you don’t want to pay price like in Dokan and you don’t need so much functions and addons like in WCFM, use WC Marketplace. I like how fast this plugin and easy to use. It doesn’t have a lot of settings, so, it’s fast to setup and use for admins and vendors. WC Marketplace also has option to show multiple vendors per one product in free version of plugin.
WC Vendor – is one of the first vendor plugins on wordpress. They develop plugin not so fast as their competitors, not so much addons and not the best price. But it has own good sides. It has most simple design with minimalist in mind. This can be very useful when you like such style and you don’t want to overwhelm users with many panels and settings.
Do you need PRO version of plugins or free? Plugins have fully functional free version of plugins which are extended by theme. So, check free version first. Then, decide if you need PRO. Maybe it will be better to spend some money for addons of plugins.
Both Woocommerce and vendor plugins have good documentation and setup guide. Please, check documentation of vendor plugins for initial setup, then, come back to this article and read about additional secrets and improvements which you can have on site with our theme.
Setup register pages, account and vendor dashboard
Register and My account page
Go to Woocommerce – Settings – Account tab and in registration section choose Enable registration on the “My Account” page. Also, it’s better to disable Automatically generate username from customer email – so, users can set separate login name (will be used for store url and it’s impossible to change it after registration). Also, don’t forget to enable registration on site in Settings – general (click on Anyone can register)
Now, find default woocommerce “My account” page among other pages (Pages – all pages). If everything is ok, this page must have shortcode
Copy url of this page, you maybe need it in future. This page will be used for sign up and registration + as account page for customers.
By default, woocommerce and vendor plugin will create several system pages. I recommend to change their template, because it looks strange when Account page has sidebar. So, I recommend to set Full width page layout or System Page layout
System pages layout doesn’t have footer and header, so, it will be very cool to have it for registration pages for vendors and my account page.
Here is example
Setup for vendor dashboard pages and vendor register pages
Please, read documentation of vendor plugin which you use on site. Each plugin has different logic for pages. For example, some plugins use woocommerce register page for vendor registration, other plugins require to have separate registration page for vendors.
Setup for User Dropdown, Login links in header
After you get link of your register page, you must set this link in theme options. By default, our theme has own login/register popup which is very useful for users, because it’s fast way to login. This login popup also has option to register, but i strongly recommend to enable redirect to your woocommerce register page to prevent different incompatibilities with vendor plugins. For this, Go to theme option – User option – Add custom register link and add there link to to your registration page which you copied in previous step.
After all settings, when user is not logged in – he can see login button, when he logged in – he can see dropdown.
By default, it will show logout link, store setting link, account page link, but you can add your custom set of links in dropdown menu. For this, create new menu in Appearance – Menus and add it to User Logged In Menu Menu location (bottom of menu page). All links from this menu will be added to dropdown.
Better shop header
For best user experience on your shop, I recommend to use our special Shop header Layout. You can choose it in theme option – header and menu – header style and choose Shop/Comparison header.
You can also add some additional elements in header in custom area when you choose Shop header layout
In this area you can use also conditional shortcodes and show different information and links for guests and vendors. For example
[wpsm_is_guest]<a href="/my-account" class="act_rehub_login_popup">Create store</a>[/wpsm_is_guest] [wpsm_is_user]<a href="/my-favorite-shops/" class="act_rehub_login_popup">Favorite stores</a>[/wpsm_is_user]
As you see, I use shortcode wpsm_is_guest which will show content for non logged users and wpsm_is_user which is for users. If you want to show something special here just for approved vendors, use wpsm_is_vendor instead wpsm_is_user. Also, I added magic class act_rehub_login_popup to link which will trigger login popup for non logged users if they click on button.
You can also enable wishlist and comparison icons in header. Check our documentation about wishlist and dynamic comparison.
Product submit pages and custom forms
All vendor plugins except WC Vendor Free plugin has inner frontend forms. Use this step only for WC Vendor free plugin.
So, to create own frontend forms which are based on our RH Frontend plugin (bundled with theme) or any other frontend form plugin, do, next steps.
Go to Rehub->Plugins tab and find link to download RH Frontend PRO plugin.
After setup of plugin – create form for product post type.
Plugin supports most of useful fields by default. You can configure and disable them in form settings. See some video and docs about plugin
If you want to add field for users where they can add coupons for external deals – add custom field in right panel with key
rehub_woo_coupon_code – this is for coupon code
rehub_woo_coupon_date – this is for expiration date (also choose date type of field)
rehub_woo_coupon_coupon_img_url – this field is for adding additional coupon image which will be used in printable coupons (print coupons must be enabled in theme option – shop settings)
Now, save your submit form and copy shortcode of form in top of page. You will find two shortcodes. One for submit form, second is for Edit Form pages (where user can see all published products and edit them). Copy both shortcodes, create two pages and insert shortcodes there. If you need to make this pages as full width (without sidebar), you can enable this in right panel (Page attributes)
What if you want to restrict adding products for non vendors (this is usefull if you have several roles on your site). Use conditional shortcodes
Changing links for adding products in vendor dashboard
Go to Theme Option – shop settings – Vendor settings and add links to submit and edit pages which you created in previous step.
Woocommerce theme settings
You can find them in theme option – Shop option. You can change there design for single page, design of category loop and some other settings.
Plugin has some default shortcodes which you can know in documentation of plugin. Theme also has some additional shortcodes for vendors:
1. List of favorite shops
2. List of sellers
This shortcode will show archive of sellers. Also, you can show specific user list
You can also show search form and order select before vendor list with next parameter
Contact seller, friendship and community functions
Rehub theme has great combination of several plugins to get the best results. So, if you want to extend your shop and add some community functions – install also BuddyPress plugin. After activation, maybe you should disable some standard modules of BP: activity and group. BP will add option to send private messages and friendship requests + add separate profile of seller to site. We added great integration between Buddypress and vendor plugins. For example, you can show products of vendor on profile page and special widget of User on Store page. We have other article about community functions on site, all community functions will work also for vendor stores
Want to add even more – install plugin MyCred which is also supported by theme + theme will show reputation points, badges and levels in profile pages, dropdown menu, etc. You can give points for product posting, wishlist adding, voting, comments and other things. You can even give your user bonuses and hide some parts of site for users who didn’t reach special amount of points.
How to add categories and other filters to vendor
You can also add categories and other filters to vendors. This option will work for Buddypress plugin, so, you must install it first. Theme supports now Xprofile fields in woocommerce register page, register popup and in WC Vendor setting page. To set filters for users, create fields in Users – Profile Fields (Extended Profile module must be activated in Settings – Buddypress).
By default, these fields will be included in BP register page, but with theme, you can add them to other forms. Here places where you can enable fields.
For woocommerce registration page – Theme option – Shop Settings – Add xprofile fields to register form?
For login/register popup – Theme option – Buddypress options – Add xprofile fields to register form?
Then, you can use new data for filters. For example, in Geo My WordPress plugin form (check previous part about Store locator). To use Xprofile data in form, check next options in GMW form
You can choose fields to use in form.
If you use Custom: Horizontal or Custom: Horizontal-big-fields template for form, all xprofiles data will be available after click on “Show option” button
You can also show xprofile fields near address field. Use Custom:horizontal-xprofile or Custom:horizontal-big-fields-xprofile template for this. If you use form on page, enable only one select field of xprofile fields. To show all type of fields, you can use GMW form widget in sidebar).
Synchronizing vendor location and product location
It’s very common request from our buyers. They want to make store locator for products (not vendors). We have also customization for Post locator function of GMW, but this requires to add location for each submited product. What if products have always the same location = location of vendor? We added simple function which synchronized them. One, vendor set his location one time and all new submited products will have the same location, so, you can use it in product locator
For this, go to Theme option – shop settings – Synchronize product and user location? and enable it
Product Hub or multiple vendors per product
Our latest theme version has also such unique function like Comparison prices from multiple vendors in Product. There are several ways to do this. Each way has own scenario and you can apply all scenarios in the same time.
Consolidated Product generated by Admin
This scenario is good when you want to combine several products from different vendors into one consolidated product. There has few ways to do this.
Compare Prices via SKU
It’s possible to create Comparison Product Hub by sku. You must add the same SKU to all products which you want to group as price comparison. By default, woocommerce doesn’t have option to set the same SKU for several products, so, you must use our RH Woo Tool Plugin. (download it from Rehub – Plugins and simply install). When you have several products from different vendors with the same SKU, you can choose layout of product as “Compare prices by SKU”
You can change SKU of products with Bulk edit. Go to all products page, choose products and choose Edit
Compare prices with shortcode
To use this type, enable “Compare prices with shortcode” Product layout.
Then use shortcode in Custom product areas
[wpsm_woocompare ids="4090,4086" logo="vendor"]
in ids, you must add product ids. There is also more simple to get this shortcode without searching ids of products. Simply click on button S in Text editor and choose “Woocommerce comparison list” shortcode. Begin typing title of products and choose products. Then, insert in content and copy inserted shortcode to code zone area near button.
Product Duplicate function for Vendors
In this scenario, vendors can duplicate products of other vendors when they create new Product. It works very simply. When vendor create new product and type product’s name, he can find that such product already exists on site and vendor can assign or duplicate such product.
This way is not working in some vendor plugins, mostly, it’s feature of plugin, not theme.
Here is documentation for this feature from vendor pluginsWCFM single product multiple vendors Dokan multiple vendors WC Marketplace multiple vendors
User generated Frontend Price comparison shortcode
This scenario will generate a special button in product and users can add own prices to existed products. This way is more universal, it can be used also for assigning additional prices from local shops to existed products. The difference from previous scenarios is that this way doesn’t require having separate products for each price.
This scenario requires to have Content Egg plugin on site. Free version of plugin is included in theme and enough for this way. After installation of Content Egg, go to settings of plugin and simply activate Offer module, also enable Content egg for products and enable synchronization if you want to synchronize prices from user generated offers and main price of product
Then, you must add the special shortcode on product pages where you want to have Frontend Submit Popup. You can use Custom code areas of products to add shortcode globally or per each product.
Add next shortcode
[wpsm_add_deal_popup role="" currency=USD rolename="Vendor" nothumb=1 label="Add your deal" editlabel="Edit your deal"]
Here is an explanation of some parameters.
role will add special restriction, so, only users with this role can submit offer to product. Please, note, that role and role labels are different things. Each vendor plugin has own role which is used for vendors. vendor – is a role for WC Vendor, seller is a role for Dokan, dc_vendor is for WC Marketplace and wcfm_vendor is for WCFM vendors. If you want to allow all registered members to submit offer, set role=””
rolename this is label for the role which can submit offers.
currency you can set here default currency in iso format. If you remove this parameter, user can choose currency
nothumb this parameter will remove the image url field from form. By default, users can also add url of image for their offer, but in our case, we don’t need it, because we need only the logo of vendor. This logo will be generated automatically based on offer URL.
membertype this is additional parameter, you can use it instead of role parameter. This member type is working for WCFM membership addon. It allows you to set payment per each membership, so, you can take payment for a special membership level who can submit offers to your site.So, if you want to use member types of WCFM instead regular roles, use next shortcode
[wpsm_add_deal_popup role="pro" currency=USD membertype=1 rolename="Vendor" nothumb=1 label="Add your deal" editlabel="Edit your deal"]
Where pro is membertype of WCFM
label – Text on button
editlabel – text on Edit button
Each user can submit only 1 offer per product. After this, he can also edit his price. Price history will be saved.
This method uses Content egg, so, all functions of Content Egg, like price alerts, price history and special Content Egg layouts will work. Here is our big tutorial about price comparison sites on Woocommerce
You can also use this way for regular products. For example, you have simple product and you want to add additional section where other local shops can assign their prices. Some examples how to combine CE shortcodes and product layouts can be found here
You can also wrap shortcode with special conditional shortcodes of theme.
After installation of plugins, it’s better to check your email settings. Sometimes you can have not best labels and email header. Go to woocommerce – setting – email and check all fields of your emails
We added special widget area in theme Vendor store page sidebar. You can assign there widgets which will be visible only on store page of vendor. There are some ready widgets for this page. All vendor plugins have own set of widgets which can be very helpful on vendor page. WCFM plugin has also options to customize colors of sidebars. Some widgets are must have on vendor dashboard. For example, Vendor’s Categories or Contact widget
Also, you can use our special shortcodes to show additional meta data of vendor
How to show additional meta data of vendors
Our magic shortcode to get such data
[rh_get_profile_data userid="vendor" usermeta="secondphone"]
This will get meta value from user key secondphone. This shortcode will work only for WC Marketplace, because this plugin has options to add custom fields in registration forms.
Vendor Membership packs and advanced capabilities
If your purpose is to make different membership levels for multi vendor sites – currently we recommend to use Membership addon and WC Marketplace plugin (addon is not included in theme) or WCFM plugin. WCFM plugin has membership options in their free membership addon, but it doesn’t have option to set different capabilities, so, you must buy their Group and Staff addon. I am not sure which plugin is better. I think if you need just membership, WC Marketplace is better. But if you want to have highly customizable site, WCFM is better, because it allows also to add custom fields in product submit forms, post not only products, but also articles and even more. One of greatest things of WCFM plugin is that it supports ACF plugin, most powerful plugin for custom forms. So, if you want to have conditional fields in product posting forms, extended pages, use WCFM.
I also recommend to check full list of compatible plugins for WCFM if you want to extend site with very specific functions.