MevvTheme documentation

A block theme for plain WordPress, and the Pro plugin that turns it into a storefront.

MevvTheme is a free block theme that renders every page type on its own and picks up WooCommerce’s templates when the shop is active. MevvTheme Pro is one plugin with a design profile, a header, shop extras, an announcement bar, blog extras and the operations screens. This guide covers installation, the free theme, every Pro screen and what it does, the shortcodes, the visibility class tokens, the quantity tier syntax, the licence, export and import, and the child theme.

What it is

Two packages. MevvTheme is the theme: standard blocks, standard templates, edited in the site editor and the Customizer, with no bundled plugin and no page builder. MevvTheme Pro is a plugin that adds screens and features on top; it only does anything while a Mevv theme is active, and it never replaces the theme’s templates — it arranges what WooCommerce and the theme already render, on their own hooks.

On plain WordPress
Pages, posts, archives, search, 404, a full-width canvas and page and post templates with a sidebar render from the theme alone.
With WooCommerce
The shop archive, single product, cart and checkout templates are used automatically. Without WooCommerce nothing shop-related is loaded, and every Pro shop feature stays silent.
With Mevv plugins
MevvBlocks, MevvCart, MevvForms and the others bring their own screens; the theme hosts their header and footer regions. Pro does not require any of them.

Requirements: WordPress 6.8 or newer and PHP 8.2 or newer for both packages; tested up to WordPress 7.1. WooCommerce 9 or newer is optional. No Pro module loads a script or a style from a third-party host; the only outside requests are a font stylesheet address you enter yourself and the licence and update check to mevvsoft.com.

Installation

  1. Install the theme: Appearance → Themes → Add New, upload the mevvtheme ZIP and activate it. Once the theme is listed on WordPress.org you will be able to search for it there instead.
  2. Open Appearance → Editor for colours, fonts and templates, or Appearance → Customize → Blog for the post list layout. The theme is complete at this point.
  3. Only if you want the Pro layer: install and activate the MevvTheme Pro plugin. Its Design, Header and Site setup screens appear under the shared Mevv menu; the feature screens appear under Appearance.
  4. Enter your licence key under Mevv → Licenses. Keys start with MEVT. The key is for updates and support; every Pro feature works without it.
  5. Optional: open Mevv → MevvTheme: Site setup and create the starter site — home, about, contact and blog pages, a primary menu and the front-page setting, all reversible.

Switching back is safe. The theme changes nothing in your content and Pro records what it creates; switching the theme and deactivating Pro leaves pages, products and settings as they were.

Using the free theme

Templates

Page, single post, home, archive, search and 404, plus three you choose per page or post in the editor’s template panel: Canvas (full width, no title, no constrained width — for landing pages), Page with sidebar and Post with sidebar. The sidebar is a template part carrying search, recent posts and categories; edit it once in the site editor and every sidebar page follows.

Styles, variations and presets

Colours, typography, spacing and layout live in Styles in the site editor. Next to the default look the theme ships three variations — Dark, Warm and Mono — chosen under Styles → Browse styles. Six spacing presets, two shadow presets (soft and deep) and border tools are declared in theme.json, so the editor offers them on every block that takes them. A horizontal-overflow guard on the site wrapper keeps a too-wide block from pushing the page sideways on a phone.

Blog layouts

Appearance → Customize → Blog offers three post list layouts — grid, list and featured-first — and the order of the meta line: date, author, category, comments. The layouts are ordinary patterns (blog-grid, blog-list, blog-featured) that you can insert and take apart yourself. Category and tag archives are ready for an image above the title; the image itself is picked with Pro.

Patterns

herofeaturesctaabout-introcontacttestimonialsfaqblog-gridblog-listblog-featuredno-resultsnot-found

Every pattern uses only the theme’s own colour presets — brand, paper, white, ink — so a change in Styles reaches every page built from them. Insert them from the pattern inserter and edit them as blocks.

WooCommerce

With WooCommerce active the theme provides the shop archive, single product, cart and checkout templates. They render WooCommerce’s own product loop and forms, so payment gateways, shipping methods and consent boxes keep working. Product gallery zoom, lightbox and thumbnail slider are declared by the theme.

Translation-ready, Turkish included. The package carries a readme, a screenshot and a complete style header and is being submitted to the WordPress.org theme directory; once it is listed, theme updates arrive through WordPress itself.

Where the Pro screens are

Three screens hang off the shared Mevv menu that every Mevv plugin uses: MevvTheme (the product row, with the region and sticky-header switches), MevvTheme: Design, MevvTheme: Header and MevvTheme: Site setup. Every feature screen is under Appearance and starts with “Mevv”:

Mevv shop extrasMevv announcementMevv newsletterMevv product tabsMevv delivery slotMevv checkout fieldsMevv archive filterMevv rolesMevv site toolsMevv exportMevv analyticsMevv white labelMevv diagnostics

In the site and post editors, Cmd/Ctrl + K opens the command palette; “Mevv design”, “Mevv header”, “Mevv site setup”, “Mevv site tools”, “Mevv announcement”, “Mevv shop extras”, “Mevv export” and “Mevv diagnostics” are listed there for administrators.

Every option a screen saves is validated first. A value out of range or a malformed colour is refused and the previous settings are kept — nothing is ever half-applied. Without a Mevv theme active the screens still show, but the front end is left untouched.

MevvTheme: regions and sticky header

Use saved header and footer
Replaces the theme’s header and footer with block templates you have published — pick a Header template and a Footer template, or “Use theme default” for either. Only published, unprotected block templates are rendered; a missing one keeps the theme default.
Keep header visible while scrolling
A sticky header. Off by default.

A region made only of presentation blocks is the same for every visitor and the page stays cacheable. A region carrying a form, a cart, an account block or a block from an unknown provider turns the page cache off (DONOTCACHEPAGE and no-cache headers) so nothing personal is cached — Pro decides this on every request.

MevvTheme: Design

One profile for the whole site, written out as CSS custom properties and as theme.json presets (prefixed mevv-), so the editor and the visitor see the same palette. With no profile yet, Start with Mevv defaults fills the fields; a site coming from another theme can import its colours, fonts and widths as a preview first, then Enable saved design. Disable design overrides and Restore previous design are always one click away.

Colors
Brand, background, text and the other palette roles as #rrggbb values.
Typography
Body and headings font family, body size, body and headings weight, body line height, and a size per heading level. Font stylesheet URL accepts a Google Fonts, Bunny Fonts or Adobe Fonts kit address; blank means the bundled Inter and Instrument Sans or system fonts. Any other host is refused.
Layout and shop
Content width, products per page, catalog columns per device, the grid/list switch in the catalog toolbar, and quick view: off, an icon on the product image or a button under it, with “keep add to cart visible in the quick view”.
Blog
Post list layout (grid, list, featured first), the post meta order, and the single-post extras: reading time, table of contents, reading progress bar, share links, print button, author box, related posts (0 = off). When a value is set here it wins over the Customizer.

MevvTheme: Header

Enable Mevv header switches the whole screen on. Logo (or the site name), menu, logo width and header width come first; everything else is a checkbox, off by default.

Transparent header on the home page
The header sits over the home page hero. Transparent header over the shop banner does the same on the shop page. White header with dark text on inner pages (on by default) gives every other page a white bar.
Search field with live results in the header
A search icon opens an overlay. It works without JavaScript; with it, the first five products matching what you type are listed with image and price, from WooCommerce’s Store API. Escape and the close button dismiss it.
Back to top button
Appears after 600 pixels of scrolling; smooth scroll unless the visitor prefers reduced motion.
Fixed shortcut bar on phones
A bar at the bottom of screens up to 921 pixels wide with home, shop, search, cart and account; on a site without WooCommerce the shop item becomes blog. Respects the phone’s safe area.
Top bar text and links
A line above the header. Links go one per line as Label|URL, up to four.
Language or currency switcher shortcode name
The name of a registered shortcode — for example mevv_dil_secici from MevvBlocks. It is rendered in the menu area; if no such shortcode is registered, nothing is printed.
Phone menu style
Drop-down panel or full screen. Both close on Escape and return focus; without JavaScript the links are still reachable.
Menu badges
Not on this screen but in the menu editor: add the class mevv-badge-new, mevv-badge-sale or mevv-badge-hot to a menu item and a small translated badge follows its label.

The cart icon shows a live count that is fetched separately with a private, no-store response, so the page around it stays cacheable. Any page can also be given the canvas layout and its own transparent header from the page’s settings panel.

Mevv shop extras

Every WooCommerce feature Pro adds is a switch on this screen. Defaults are in brackets.

Recently viewed strip on product pages
[on] A strip of the products the visitor looked at, built in the browser from WooCommerce’s own cookie so the page can be cached. Also available anywhere as the [mevv_recently_viewed] shortcode.
Stock indicator on product pages
[on] “Only N left” with a bar when stock is at or below the Stock threshold; 0 uses WooCommerce’s low-stock amount, and 5 when that is not set either.
Catalog pagination
[page numbers] Or a Load more button or Infinite scroll: the next page is fetched, the address is updated, and the control hides on the last page.
Free shipping progress
[on] In the cart, the mini cart and the checkout, from WooCommerce’s free-shipping minimum: “Add X more for free shipping”, then “Your order ships free”.
“Bought together” box
[on] On product pages, from the product’s cross-sells and upsells, each with a checkbox; Add selected to cart adds them through the Store API in one click.
Back-in-stock waitlist
[on] An e-mail field on out-of-stock products (simple products; variable products are skipped). When stock returns each subscriber receives one message and the list is cleared. A honeypot and a rate limit protect the endpoint.
Delivery estimate on product pages
[off] “Estimated delivery: date – date” from a range of working days and a cut-off hour; the dates are computed in the browser.
Variation picker with add to cart on catalog cards
[on] Variable products get a picker of their in-stock variations (up to 12) and an add button on the card instead of “Select options”.
Quantity discounts
[on] Enables the per-product tiers described below.
External/affiliate products open the merchant in a new tab
[on] With rel="nofollow noopener sponsored" and an optional common button label.
Catalog mode
[off] Nothing can be added to the cart. Optionally Hide prices, and a Quote page URL with a Button label shown instead of add to cart; the product name is appended to the address.
Wishlist buttons and Compare buttons
[on, on] The heart and compare buttons on cards and product pages; the pages are the shortcodes below.

Shortcodes

Four shortcodes, all rendered in the visitor’s browser from WooCommerce’s Store API or from the site’s own endpoint, so the pages that carry them can be cached like any other page.

[mevv_wishlist]
The wishlist page: image, name, price and a remove button for each product. The list lives in the browser’s localStorage (up to 100 products); no account is needed and nothing is stored on the server.
[mevv_compare]
The comparison table: up to four products side by side with price, availability and rating, and a remove button. Also in the browser.
[mevv_recently_viewed]
The recently viewed strip anywhere on the site, from the mevv_recently_viewed cookie (30 days, product ids only).
[mevv_newsletter]
An e-mail field and a subscribe button. Sign-ups are saved on the site and listed under Mevv newsletter.
[mevv_wishlist]
[mevv_compare]
[mevv_recently_viewed]
[mevv_newsletter]

Create a page for the wishlist and one for the compare table, put the shortcode in it and link them from your menu — the buttons on the cards do not create the pages for you.

Quantity tiers

With Quantity discounts switched on, each product gets a Quantity discounts field in its pricing tab. The syntax is minimum quantity, a colon, percent off — comma separated:

3:5, 10:10

3:10, 10:20, 50:35
  • Quantities start at 2, percentages are above 0 and below 100; anything else is dropped and the field is saved tidy.
  • The product page shows a “Buy more, pay less” table with quantity, discount and unit price.
  • In the cart the line price drops to the tier once the quantity is reached — the discount applies to that line, not to the whole cart.

Product extras: personalisation, video, delivery slot

Two fields in each product’s Advanced tab and one screen under Appearance.

Personalisation field label and max length
A text field next to add to cart — “Engraving text”, “Name on the ticket” — with a length limit. The value is validated when the product is added, shown on the cart line and saved on the order item, where staff see it.
Product video URL
A YouTube or Vimeo link (through oEmbed) or a direct MP4 or WebM address over https from an allowed host; the player is shown under the gallery.
Mevv delivery slot
Let customers choose a delivery date at checkout, with the earliest and latest day counted from today, whether weekends are allowed, optional Time slots (comma separated, e.g. 09:00-12:00, 13:00-17:00; blank = date only) and Required. The choice is validated on the server, saved on the order and shown in the admin order and the e-mails.

Mevv product tabs and photo reviews

Up to six global tabs — title and content, with paragraphs, lists, tables and shortcodes allowed — shown on every product after WooCommerce’s own tabs. Only for categories limits a tab to part of the catalogue, which is how a size guide or a care sheet is done.

Reviews gain an Add a photo field (JPG, PNG or WebP up to 4 MB, attached to the product) and a Was this helpful? vote under each review, counted once per visitor and review per day. Both are on whenever a Mevv theme and WooCommerce are active; they have no screen.

Mevv checkout fields

For the classic checkout form: seven fields — billing company, address line 2, phone and state, shipping company and address line 2, and the order notes — each set to WooCommerce default, Optional or Hidden. Hidden fields are not shown and not required; optional fields stay visible without the asterisk. The block checkout keeps WooCommerce’s own settings.

Mevv announcement

Text, link URL, link label
Bold, italic and line breaks are allowed in the text.
Countdown deadline
A date and time in the site’s time zone. The bar counts down days, hours, minutes and seconds in the browser; with Hide after the deadline the server stops printing it once the time has passed.
Show on
Every page, the home page only or the shop pages only.
Visitors can dismiss it
The dismissal is remembered in the visitor’s browser, so the page itself can be cached.
When to show
After a number of seconds on the page, after scrolling a percentage, when the pointer leaves the page (exit intent), and only once per browsing session. With any condition set the bar slides in at the bottom of the screen instead of sitting at the top.
Include a newsletter sign-up field
Puts the newsletter field into the bar; sign-ups land on the Mevv newsletter screen with the source “announcement”.

Mevv newsletter

A sign-up list without a provider. Addresses come from the [mevv_newsletter] shortcode or the announcement bar, are de-duplicated, protected by a honeypot and a rate limit, and stored as an option on your site; the screen lists them with date and source and offers Download CSV.

Each sign-up also fires the mevvtheme_newsletter_subscribed action, so MevvMail, MevvForms or any CRM connector can take the address from there.

Blog extras, archive filter and term images

The single-post extras are switches in the Design screen’s Blog group: reading time under the meta line, a table of contents built from the post’s h2 and h3 headings once there are at least three, a reading progress bar, share links for X, Facebook, LinkedIn, WhatsApp and e-mail with a print button and a print stylesheet, an author box, and related posts from the same category.

Mevv archive filter
Show taxonomy filters and sorting on blog, archive and search pages — for any public post type, with a drop-down per public taxonomy that has terms, a sort order (newest first, oldest first, title A–Z, most discussed) and, optionally, a search field. The form applies to the main query through plain GET parameters, so filtered pages have ordinary addresses.
Term image
On the category and tag screens: Choose image picks a media item shown above the archive title. WooCommerce categories keep their own thumbnail.

Conditional visibility tokens

Add one or more of these classes to a block’s Additional CSS class(es) field — it works in every editor, including saved regions.

mevv-only-mobile · mevv-only-desktop
Shown only up to, or only above, 921 pixels. Pure CSS.
mevv-logged-in · mevv-logged-out
Decided on the server: the block is dropped from the page, not merely hidden.
mevv-role-<role>
For example mevv-role-customer or mevv-role-editor. Several role tokens on one block mean “any of these”.
mevv-from-YYYY-MM-DD · mevv-until-YYYY-MM-DD
A date window in the site’s time zone, from midnight; decided on the server.
mevv-cart-nonempty · mevv-cart-empty
Decided in the browser from WooCommerce’s items-in-cart cookie, so the page stays cacheable.
mevv-only-mobile
mevv-logged-out mevv-from-2026-11-20 mevv-until-2026-11-30
mevv-role-wholesale mevv-cart-nonempty

Mevv site tools

Visitor page
Off, Coming soon or Maintenance (503), with a title and a text. Visitors see a placeholder in the brand colour while editors and administrators keep using the site. Coming soon answers 200 and asks search engines not to index; maintenance answers 503 with a Retry-After header so rankings are kept. The admin bar shows which mode is on.
Custom CSS
Printed inline on every page. Markup is refused in this field.
Markup inside <head> and before </body>
Verification tags, scripts you own. Only users who may publish unfiltered HTML can change these two fields; anyone else’s save keeps them unchanged.

Mevv roles

Editors never get theme options or the site editor. This screen lets an administrator tick Announcement bar, Product tabs and Site tools so editors can use those screens as well; everything else stays with administrators.

Mevv export: settings and the child theme

Settings file
Download settings writes the design profile, header, announcement, product tabs, site tools, lists, commerce extras and the blog choices into one JSON file. Import settings on another site running MevvTheme Pro applies it through the same validators the screens use: unknown keys are ignored, an invalid section is skipped and reported, and a file that is not a MevvTheme settings file is refused. The upload limit is 1 MB.
Child theme
Download child theme ZIP builds a ready child theme — style.css with the theme name you enter and Template: mevvtheme, functions.php, theme.json and a readme. Custom CSS and template overrides placed there survive theme updates.

Diagnostics, analytics and white label

Mevv diagnostics
One screen with the WordPress, PHP, theme, Pro, kernel and WooCommerce versions, which modules are on and where the design came from, the environment (object cache, page cache plugin, block theme, permalinks, locale, debug, memory limit, multisite) and the licence state — as a report you copy into a support request.
Mevv analytics
Off by default. When enabled, a small script forwards the theme’s browser events — catalog page appended, cart changed, announcement dismissed, quote link clicked, waitlist submitted, wishlist or compare toggled — to dataLayer (Google Tag Manager) and to gtag() when they exist. It never sends anything itself and can hold events until consent.
Mevv white label
An agency name and a menu icon replace the vendor name in the admin menu and on the theme screens, and the Licenses screen can be hidden from users without theme options. Only labels change: slugs, options, the updater identity and the licence stay as they are, and the front end is never touched.

Licence and updates

The licence key is entered once under Mevv → Licenses, the screen every Mevv plugin shares; MevvTheme has no licence page of its own. Keys begin with MEVT and cover one site per licence.

  • The features are not gated. With no key, or an expired one, the design profile, the header, the storefront and every screen keep working exactly as before.
  • The key unlocks signed updates through the MevvCore updater: the plugin registers itself under the slug mevvtheme-pro and WordPress shows its updates like any other plugin’s. The update package is checked against its published hash before it is installed.
  • The free theme has no key at all. Until it is listed on WordPress.org, a new theme version is installed by uploading the ZIP again.
  • What leaves your server: the licence activation (product, version, site address and the key, once) and an update check every twelve hours (product and version). Nothing about your visitors, content or orders.

Troubleshooting

The Pro screens do nothing on the front end
Pro acts only while MevvTheme (or MevvTheme Classic) is the active theme. Check Appearance → Themes, then Mevv diagnostics: “supported theme” must say yes.
Design changes are not visible
The profile must be enabled (“Design overrides enabled” on the Design screen). Then clear the page cache: Pro’s CSS carries a content hash in its address, but a cached HTML page still points at the old one.
Wishlist or compare pages are empty
The lists live in the visitor’s browser. A different browser, a private window or cleared site data starts with an empty list; that is by design. Also check that the page carries the shortcode and that WooCommerce is active.
The countdown or the delivery estimate shows a different time
The deadline is entered in the site’s time zone (Settings → General) and counted down in the visitor’s browser; the delivery estimate counts working days from the visitor’s clock. Check the site time zone first.
The waitlist or newsletter form says “Too many requests”
Both endpoints are rate limited per visitor and refuse duplicates. Wait a minute and try again with a different address.
A saved region turned caching off
That region contains a block that may carry visitor state — a form, a cart, an account block or a block from a provider Pro does not know. Move that block out of the region or accept that those pages are served uncached.
The import skipped a section
The file came from a different Pro version or was edited by hand and that section failed validation. The rest was applied; fix the section on the screen itself.

When you write to us, paste the report from Mevv diagnostics and say which screen and which switch you changed. That is almost always enough.