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.
For better support of woocommerce and vendor plugins, I created Revendor child theme. Check how to get it.back to menu ↑
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.
back to menu ↑
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.back to menu ↑
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 next shortcode
[wpsm_not_vendor_logged]You are currently not a vendor. Go to <a href="/vendor_dashboard/">page</a> and request vendor status.[/wpsm_not_vendor_logged]
[wpsm_is_pending_vendor]Content for pending vendor users[/wpsm_is_pending_vendor]
[wpsm_is_guest]<a href="/my-account/">Please login or register to add products</a>[/wpsm_is_guest]
First shortcode will check if user is vendor. If yes – he will see submit form (change id of form)
Second shortcode will check if user is logged in, but he is not vendor yet (for example, you still didn’t approve him). And, if yes – he will see link on vendor dashboard where he can request vendor status.
Third shortcode content will be displayed only for non logged in users and they will see link on login/register page.
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.back to menu ↑
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.back to menu ↑
Store locatorback to menu ↑
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).back to menu ↑
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 itback to menu ↑
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
1. If you use WC Merketplace plugin, you can check “duplicate” function To get best results, set Product Layout as “Compare prices with shortcode”
2. You can also assign manually list to “Compare prices with shortcode” layout. This way will allow you to create “Product Hub”. For this, click on Shortcode Generator (button S near media button), 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.
3. Also, 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). When you have several products from different vendors with the same SKU, you can choose layout of product as “Compare prices by SKU”
Each vendor must have separate published product for both ways.back to menu ↑
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 emailsback to menu ↑
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.back to menu ↑
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.