CraftMarket

Curated handmade & artisan marketplace theme for WordPress and WooCommerce: one shop sells and presents the work of many makers. Ceramics, jewelry, rattan & wood home decor and a B2B sourcing portal. Version 1.0.0. Online version (always up to date): craftmarket.bzotech.com/documentation.

1. Requirements

2. Installation

The download from ThemeForest contains:

File / folderWhat it is
craftmarket.zipThe theme. Upload this one to WordPress (the CraftMarket Core and CraftMarket Elementor Addons plugins are inside it).
craftmarket-child.zipChild theme for your own changes (section 13).
documentation/This document.
licensing/GPL license text and the licenses of the fonts, icons and images (section 15).
  1. Appearance → Themes → Add New → Upload Theme: upload craftmarket.zip and activate it.
  2. The Setup Wizard opens by itself (section 3). It installs the plugins and imports the demo.
  3. Optional: upload and activate craftmarket-child.zip as well.

Uploading the whole ThemeForest download instead of craftmarket.zip gives the error "The package could not be installed. The theme is missing the style.css stylesheet." Unzip the download first and upload craftmarket.zip.

Plugins

Without the wizard, install the plugins from Appearance → Install Plugins.

PluginSourceNeeded for
CraftMarket CoreIncluded in the themeRequired. Artisans, suppliers, trade fairs and case studies, product stories, swatches, tiered pricing and MOQ, wishlist, quotes, trade accounts, Theme Options panel, Demo Importer
CraftMarket Elementor AddonsIncluded in the themeRequired. The page sections as Elementor widgets
WooCommerceWordPress.org (free)Required. Shop, cart, checkout, accounts
ElementorWordPress.org (free)Required. Editing the Home, About, Contact, FAQ and Become a Vendor pages visually
Contact Form 7WordPress.org (free)Recommended. The Contact page form
PolylangWordPress.org (free), Plugins → Add NewOptional. Multilingual sites (section 14)

CraftMarket uses only free plugins. No license key is needed for any of them.

3. Setup Wizard

The wizard opens once, right after the theme is activated. Run it again any time from Appearance → CraftMarket Setup. "Skip setup" in the top bar closes it; nothing is changed.

  1. Plugins. Required and recommended plugins are ticked. "Install & Activate Plugins" installs them one by one; the status of each card turns to Active. If a host blocks installing, use Appearance → Install Plugins or upload them by hand.
  2. Demo. Pick the Home that becomes your front page, then choose what to import:
    • Content: pages, products, artisans, suppliers, posts, reviews, menus and Home layouts.
    • Theme Options: social links and the limited batch banner.
    • Keep only the chosen demo: see section 4.
    "Import Demo" runs every step and shows its progress. "Skip import" only sets the chosen Home layout.
  3. Ready. Links to your site, Theme Options and the Customizer.

Keep the page open while the import runs. A step that stops (time limit of the host) can be started again; nothing is added twice.

4. Demo content

The demo holds four stores: Ceramics (Home 1), Jewelry (Home 2), Rattan & Wood Home Decor (Home 3) and the B2B Wholesale portal (Home 4), with their products, artisans and suppliers, trade fairs, case studies, journal posts, menus and Theme Options.

Keep only the chosen demo

When this box is ticked in the wizard (it is by default), the import is followed by a clean-up for the Home you picked:

Only items created by the importer are removed. Your own posts, products and pages stay. Untick the box to keep all four stores, for example to compare them before deciding.

Demo Importer screen

CraftMarket → Demo Importer runs the same import without the wizard (all four stores) and has a Remove demo content button that deletes everything the import created and keeps your settings and your own content.

5. Homes, skins & layouts

Each Home brings its own look:

HomeSkinHeaderFooter
Home 1 – CeramicsCeramics (terracotta & cream)ClassicDark Corporate
Home 2 – JewelryJewelry (ink, ivory & gold)Two-Tier CenteredMinimalist Light
Home 3 – Rattan & WoodRattan (moss green & sand)Floating PillEco-Impact
Home 4 – B2B PortalTrade (forest green & amber)Mega TradeTrade Portal

6. Elementor widgets

Every section of the Home pages and of the About, Contact, FAQ and Become a Vendor pages is an Elementor widget. They are listed first in the Elementor panel, in the categories CraftMarket Homes, CraftMarket About, CraftMarket Contact, CraftMarket FAQ and CraftMarket Become a Vendor. Each widget has its texts, images, links and product choices as controls; an empty field uses the built-in default, shown in grey.

Opening "Edit with Elementor" on a Home page that has no Elementor content yet loads the widgets of its Home layout with the default texts, so the page looks the same as before. Delete, reorder or mix widgets from any Home freely.

PageWidgets
Home 1 – CeramicsCeramics Hero with Hotspots, Artisan Story Bento, Product Tabs Grid, Craft Provenance Timeline, Meet the Artisans, Wholesale Price Calculator, Customer Reviews, Social Gallery
Home 2 – JewelryJewelry Hero with Hotspots, Marquee Ticker, Shop the Look Bundle, Collection Tabs Carousel, Video Story & Bespoke Studio, Vertical Video Shorts, As Seen In & Testimonials, Trade Strip
Home 3 – Rattan & WoodInteractive Room Visualizer, Materials Explorer, Filterable Collection Grid, Craft Villages Map, Project Cost Estimator, In Your Space Gallery
Home 4 – B2B PortalSourcing Request Hero, Market Ticker, Category Matrix, Wholesale Data Table, Verified Manufacturers, Logistics & Order Protection, Trade Shows, Craft Regions Map, Case Study
AboutAbout Hero, Our Story & Milestones, What We Stand For, How Makers Join, Meet the Makers, About Call to Action
ContactContact Heading, Contact Details & Form
FAQFAQ Heading, FAQ Questions
Become a VendorVendor Hero, Seller Benefits, How Selling Works, Seller Plans & Fees, Maker Stories, Vendor Application, Seller FAQ, Vendor Call to Action

Tips

7. Theme Options

CraftMarket → Theme Options. Empty fields use the built-in default, shown in grey inside the field; type - to hide an element.

TabWhat you set
GeneralDefault skin, shared pages follow the last visited store, container width, breadcrumbs, initials avatars, logo and logo for dark backgrounds
HeaderHeader layout, sticky header, account / wishlist / cart icons, top bar per header layout, search box ("Filter by" list, category select), live search (products, categories, artisans & suppliers, journal posts), search inside the current store, "Did you mean" on misspellings, Quick Order link, an Elementor template as header
FooterFooter layout, copyright ({year}, {site}), payment methods, Eco-Impact counters, an Elementor template as footer, social profiles
Skin Texts & ColorsPer skin: logo tagline, announcement (one message per line), search placeholder, popular searches, header button and link, footer about and newsletter texts, brand colours
ShopProducts per page, columns, default view (grid, list, B2B table), attribute filters, the limited batch banner, trust row; product page layout, gallery style and the "Shipping & Returns" text
B2B & WholesaleHide prices from guests, quote instead of cart for guests, wholesale catalog for trade buyers only, hidden price text, what tier discounts and minimum order quantities apply to, tier table on product pages
Request a QuoteWhere the "Add to Quote" button shows, email for requests, file attachments and their maximum size, thank-you message
Trade AccountsAutomatic approval, admin email on new applications, message after applying
Vendor ApplicationsAdmin email on new applications, seller terms page, message after applying
Store ToolsSearch by SKU, camera button in the trade search, swatches on product cards, newsletter thank-you text
BackupExport, import or reset all options

Appearance → Menus. Locations: Primary menu, a primary menu for each store skin (Jewelry, Rattan, Trade), Top bar links, All categories (Trade header) and Footer bottom links. The footer columns are widget areas (Appearance → Widgets → Footer column 1–5): add a Navigation Menu widget to each.

A main menu per store: pages that show the Jewelry skin (Home 2, the Jewelry categories and their products) use the menu assigned to "Primary menu – Jewelry skin", and the same for Rattan and Trade. Leave a location empty to use the Primary menu everywhere.

Each top-level item has mega menu settings: columns, icons, swatches, a featured product, a banner, or any Elementor template as the whole panel. Items can carry a badge (New, Sale, Wholesale).

9. Products

Products are regular WooCommerce products (simple or variable). The CraftMarket Product box adds:

TabUse
StoryArtisan or supplier, origin, material, size badge, video and its cover
The making of this pieceSteps with photos shown on the product page
SpecificationsRows of the specifications table
WholesaleTier prices, minimum order quantity, "Wholesale only"
Limited batchBatch label, pieces in the batch and the end of the drop (countdown). "4 of 30 left" uses the stock quantity
PersonalisationEngraving with price, length and fonts
Complete the setProducts sold together at a set discount

Swatches: Products → Attributes → edit an attribute's terms to give them a colour or a photo; the shop filter, product cards and product page show them as swatches.

Category look: each product category can have a banner, an icon, and its own skin, header and footer (section 5).

10. CraftMarket Core modules

CraftMarket → Dashboard shows new quote requests, trade applications and counts, and lets you switch each feature on or off. A module that is off adds no code, hooks or assets to your site. Modules marked WooCommerce need it to be active.

ModuleWhat it does
ArtisansArtisan / vendor profiles linked to their products, with studio story, process and reviews
Factories & SuppliersVerified manufacturer profiles: certifications, monthly capacity, response time, factory tour
Case StudiesB2B projects with client quote and project numbers
Trade FairsExhibition calendar with dates, venue, product focus and meeting booking
Variation Swatches (WooCommerce)Colour, metal, material image and button swatches instead of dropdowns
Tiered Pricing & MOQ (WooCommerce)Quantity breaks (for example 10–49: 15% off, 50+: 25% off) applied in the cart, minimum order quantities, tier tables on products and in the B2B table
Role-Based Access (WooCommerce)Hide prices and the cart from guests, sell wholesale-only products to approved trade buyers
Request a Quote (WooCommerce)Quote list with target prices and attachments, sourcing request form, Quote Requests inbox
Trade Accounts (WooCommerce)Trade account application form, approval by the shop, Trade Buyer role
Shop the Look & Bundles (WooCommerce)Add a whole look or set to the cart at once, with a discount when the set is complete
Product Add-ons (WooCommerce)Engraving text and font style with a surcharge on personalised products
Wishlist (WooCommerce)Heart button on products and a wishlist page for guests and buyers
Quick Order (WooCommerce)Order by SKU lists or CSV files, add several products to the cart at once
NewsletterFooter sign-up forms with a subscriber list and CSV export
Vendor Applications"Become a Vendor" form that creates a pending artisan profile, approved by publishing it

System pages

Some features need a page: Quote List, Apply for a Trade Account, Wishlist, Quick Order and Become a Vendor. The Dashboard lists them; Create missing pages adds any that were deleted.

11. Artisans & suppliers

12. Wholesale (B2B)

Tiered prices and MOQ

In the product's Wholesale tab add tier rows: a starting quantity and either a % discount or a unit price (example: 10 → 15%, 50 → 25%). The same tab sets the minimum order quantity, unit, lead time and "Wholesale only". The cart applies the right tier as the quantity grows; the product page shows the tier table and the Wholesale Price Calculator widget uses the same tiers. The minimum order quantity blocks smaller quantities in the cart. Theme Options → B2B & Wholesale sets whether tiers and MOQ apply to everyone or to trade buyers only.

Trade accounts

Buyers apply on the Apply for a Trade Account page. Approve them under Users (filter "Trade applications" on the Dashboard); approved buyers get the role Trade Buyer. Turn on automatic approval in Theme Options → Trade Accounts.

Request a Quote

"Add to Quote" buttons collect products in a quote list. The buyer adds quantities, target prices, a message and files, and sends the request. Requests arrive by email and under Quote Requests, where each has a status. The Sourcing Request Hero on Home 4 sends a request without products.

Quick Order

The Quick Order page lets buyers type SKUs and quantities or load a CSV file (one SKU, quantity per line; a header row is skipped) and add everything to the cart at once.

Become a Vendor

Artisans apply on the Become a Vendor page. Each application creates a pending artisan profile; review it under Artisans and publish it to approve.

CraftMarket is a curated marketplace, not a multi-vendor plugin: the shop adds each maker's products and links them to the maker's profile (section 9, Story tab), takes the orders and pays the makers. Makers have no dashboard of their own, and commissions and payouts are not calculated by the theme. The plans and fees on the demo Become a Vendor page are example texts: edit them to match your own terms.

Quote requests and newsletter subscribers hold your customers' contact details. They are never part of the demo content and are not removed by "Remove demo content". Subscribers can be exported and erased with the WordPress personal data tools (Tools → Export / Erase Personal Data).

13. Child theme

Install craftmarket.zip, then craftmarket-child.zip, and activate the child theme: your changes survive theme updates. Theme Options are shared between the two. Put CSS in the child theme's style.css; to change a template, copy it from craftmarket/ to the same path in craftmarket-child/.

14. Translation & RTL

Translating the texts

All texts are in English and translation ready. Text domains and template files:

PartText domainTemplate file
Themecraftmarketcraftmarket/languages/craftmarket.pot
CraftMarket Corecraftmarket-corecraftmarket-core/languages/craftmarket-core.pot
CraftMarket Elementor Addonscraftmarket-elementor-addonscraftmarket-elementor-addons/languages/craftmarket-elementor-addons.pot

Translate with the free Loco Translate plugin, or with Poedit: open the .pot, translate, and save craftmarket-fr_FR.po/.mo (your locale) in wp-content/languages/themes/, or craftmarket-core-fr_FR.mo in wp-content/languages/plugins/, so updates do not overwrite them.

Texts you type in Theme Options and in Elementor widgets are content, not translation strings: edit them directly.

Multilingual site

With Polylang, create the pages, products and menus in each language as usual. Texts of Theme Options are translated in Languages → Translations, group "CraftMarket: Theme Options". A translated Home page opened in Elementor starts with the widgets of its Home layout, like the original.

Right-to-left languages

Every page has an RTL stylesheet. When the site language (Settings → General → Site Language) or the Polylang language is a right-to-left one such as Arabic or Hebrew, WordPress loads it on its own: the layout, sliders, menus, icons with a direction and the mega menu are mirrored. Nothing needs to be switched on.

15. Sources & credits

The theme's PHP, CSS and JavaScript are licensed under the GNU GPL v2 or later. Bundled third-party resources:

ResourceLicenseSource
Fonts (self-hosted in assets/fonts, no Google request): Caveat, Cormorant Garamond, DM Sans, Fraunces, Inter, Plus Jakarta SansSIL Open Font License 1.1Google Fonts / project repositories listed in licensing/README.txt
Interface icons (inline SVG in inc/icons.php)GPL v2 or laterDrawn by BZOTech for CraftMarket
Payment logos (assets/images/payments)CC0 1.0Simple Icons; trademarks of their owners
Maps (assets/images/maps)Public domainNatural Earth
TGM Plugin Activation 2.6.1GPL v2 or latertgmpluginactivation.com
Codestar Framework 2.3.1 (Theme Options panel, in CraftMarket Core)GPL v2 or latercodestarframework.com

Demo images: the photos and videos of the live demo are for preview only and are not included. The demo import uses placeholder images of the same size; use your own photos or images you hold a license for.

16. FAQ

Can makers add their own products and get paid automatically?
No. CraftMarket is a curated marketplace run by the shop (section 12, Become a Vendor). The shop lists the products of each artisan or supplier, takes the orders and pays the makers.
The demo import stops halfway.
The host's time or memory limit was reached. Click Import again: finished steps are skipped and nothing is added twice. Raising memory_limit to 256M and max_execution_time to 60 helps.
Product images are grey boxes.
These are the demo placeholders (section 4). Edit the product and set your own image, or replace the file in the Media Library.
Prices disappeared for visitors.
Theme Options → B2B & Wholesale → "Hide prices from guests" is on. Turn it off for a retail store.
A product section is empty.
Its product source points at a category or IDs that do not exist on your site (for example after "Keep only the chosen demo"). Pick another source in the widget.
A page returns 404 after the import.
Open Settings → Permalinks and click Save once.
I removed a page such as Quote List or Wishlist.
CraftMarket → Dashboard → Create missing pages.
How do I update the theme?
Download the new version from ThemeForest, then Appearance → Themes → Add New → Upload Theme with the new craftmarket.zip and choose "Replace current with uploaded". Then update CraftMarket Core and CraftMarket Elementor Addons from Appearance → Install Plugins. Keep your changes in the child theme.

17. Support

Email [email protected] or use the Support tab of the item page on ThemeForest, with your purchase code and the link to your site. Support covers questions about the theme's features and fixing bugs; it does not cover custom changes or third-party plugins.