WordPress & WooCommerce theme documentation

RIVISTA.

Everything the theme does, where each switch lives, and how to take the demo from first install to a store of your own.

Theme version
1.4.0
Requires
WordPress 6.0 · PHP 7.4
Text domain
rivista
Licence
GPLv2 or later
01

Overview & what’s included.

RIVISTA is an editorial WordPress theme for fashion, design and lifestyle brands. It pairs a magazine-style front end with a complete WooCommerce storefront, and ships a one-click demo that builds the whole site for you.

Nothing in the theme depends on a page builder, an animation library or a remote service. Every layout is plain WordPress content styled by the theme, every script is vanilla JavaScript, and every font and photograph travels inside the package.

21.

Homepage layouts

The built-in “Outfit of the day” editorial front page plus 20 imported demo homepages.

72.

Demo pages

Imported by the one-click demo; 66 of them are RIVISTA layout pages.

22.

Colour packs

Light, dark-footer and fully dark packages, switched in the Customizer.

5.

Font pairings

System-safe typography presets; the default pairing uses the bundled typefaces.

0.

Remote requests

No CDN, no web-font service, no analytics. Fonts and demo photography are local files.

10.

Demo products

Real WooCommerce products, plus 6 journal posts and 5 product categories.

What is inside the download

ItemWhat it is
rivista-theme.zipThe installable theme. This is the file you upload to WordPress.
documentation/This manual — index.html plus its media/ screenshots. One self-contained folder, no internet needed. It travels inside the theme, so it is always available on the server.
readme.txtTheme readme with requirements, recommended plugins and the changelog.
LICENSE · THIRD-PARTY-CREDITS.mdGPLv2-or-later notice and the full credits list for fonts and demo photography.
languages/rivista.potTranslation template — 344 translatable entries in version 1.4.0 — text domain rivista.
demo-content/The demo WXR file and all demo photography, used by the one-click import.
inc/plugins/rivista-core.zipThe optional companion plugin with the three Elementor widgets and the four section shortcodes.

What the theme does not do

So you can plan around it: RIVISTA does not register custom post types, does not include a page builder, does not ship a slider plugin, and does not add product filters, a currency switcher or a live-search plugin. Product data, stock, reviews, shipping and taxes all come from WooCommerce.

The only things it registers beyond templates and Customizer settings are one block style and one block pattern. The four section shortcodes — [rivista_products], [rivista_journal], [rivista_values] and [rivista_newsletter] (section 11) — are implemented by the bundled RIVISTA Core plugin: it owns both the tags and the render code behind them, so shortcode content keeps rendering even after a theme switch, while this theme’s stylesheets give the sections their full design. The front page’s values and newsletter bands come from the same plugin functions — without RIVISTA Core they are simply omitted and the rest of the front page is unaffected. Pages that use the shortcodes — including several of the imported demo homepages — need RIVISTA Core active, or the tags print as plain text.

02

Requirements.

RIVISTA runs on a standard WordPress host. The only firm numbers are the ones in the theme header.

RequirementMinimumNotes
WordPress6.0Version 1.4.0 was tested up to WordPress 7.1. Recent WooCommerce releases require a newer WordPress than the theme minimum, so check WooCommerce’s own requirement before you install it.
PHP7.4Tested on PHP 8.2. No PHP 8-only syntax is used, so 7.4 hosts are safe.
WooCommerceOptionalNeeded for the shop, cart, checkout, account and every commerce feature in section 09. Version 1.4.0 was verified against WooCommerce 10.9.1.
PHP extensionsSimpleXML / libxmlUsed by the demo import when it restores the bundled page layouts. Present on virtually every host.
Uploads folderWritableThe importer writes a prepared copy of the demo file into wp-content/uploads.
PermalinksPretty permalinksSeveral demo links point at paths such as /shop/ and /lookbook/. Plain permalinks will break them.
Recommended for the import

The demo file is roughly 1.1 MB and the importer copies 16 photographs out of the theme’s own folder into your Media Library — nothing is requested from a third-party server. The theme never changes your PHP limits. If your host is tight, ask them to allow at least memory_limit 256M and max_execution_time 300 for the duration of the import.

03

Installation.

A fresh WordPress install gives the cleanest result. If you are installing over an existing site, back up the database and the uploads folder first.

Install the theme

  1. Unzip the package you downloaded from the marketplace and find rivista-theme.zip. That single file is the theme; the rest of the download is documentation and licences.

  2. In WordPress go to Appearance → Themes → Add New → Upload Theme, choose rivista-theme.zip and press Install Now.

  3. Press Activate.

  4. Alternatively, upload the unzipped rivista folder to wp-content/themes/ over FTP or SFTP, then activate it from Appearance → Themes.

The WordPress Add Themes screen with the Upload Theme panel open, showing the Choose File button and the Install Now button.
Step 02. Appearance → Themes → Add New, then Upload Theme. Pick rivista-theme.zip — not the whole marketplace download — and press Install Now.
“The theme is missing the style.css stylesheet”

That message means the whole marketplace download was uploaded instead of the theme. Unzip it and upload rivista-theme.zip only.

Plugins

After activation a dashboard notice appears and a new screen is added at Appearance → Install Plugins. Every plugin there is recommended, not required — the theme works without them, with the matching features simply absent.

PluginSourceNeeded for
WooCommercewordpress.orgProducts, cart, checkout, account, and every feature in section 09.
One Click Demo Importwordpress.orgThe RIVISTA Complete Demo import (section 04).
Contact Form 7wordpress.orgA working contact form, and the form imported with the demo.
RIVISTA CoreBundled with the theme, version 1.3.0The three Elementor widgets (section 10) and the four section shortcodes (section 11). Installs from inc/plugins/rivista-core.zip inside the theme — no download needed.
Elementor Page Builderwordpress.orgOnly if you want to build pages with Elementor. The demo content contains no Elementor data.
  1. Open Appearance → Install Plugins.

  2. Install and activate WooCommerce, Contact Form 7 and One Click Demo Import before importing the demo — products and forms are skipped if their plugins are missing at import time.

  3. Install RIVISTA Core — it implements the four section shortcodes the demo homepages use, and (with Elementor) the Elementor widgets.

  4. Run the WooCommerce setup wizard when it offers itself, or skip it and configure the store later from WooCommerce → Settings.

04

One-click demo import.

One import builds the entire demo site: every page, the journal, ten products, the photography, the menus and the front-page settings. There is a single import package — all twenty homepage demos arrive together.

Before you start

  • Use a fresh site, or back up an existing one. The import adds content; it does not remove yours, but it does delete WordPress’s own “Sample Page” and “Hello world!” when they are still untouched.
  • Activate WooCommerce, Contact Form 7 and One Click Demo Import first.
  • Make sure wp-content/uploads is writable and that the server can request its own URLs — the photographs are fetched from the theme folder over HTTP.

Run the import

  1. Open Appearance → Import Demo Data.

  2. The theme registers a single import — RIVISTA Complete Demo: “Pages, journal posts, products, media, and navigation from the complete RIVISTA demo.” Because it is the only one, One Click Demo Import shows the theme card rather than a list. Press Import Demo Data and confirm.

  3. Leave the tab open. The importer works in batches and the photographs are copied one by one; on a modest host this takes a few minutes.

  4. Wait for the completion screen before navigating away. The final step rebuilds menus, assigns pages and flushes permalinks.

  5. Visit the site. You should land on the editorial home page with the announcement ticker running above the header.

The One Click Demo Import screen under Appearance, showing the RIVISTA theme card, version 1.4.0, and a blue Import Demo Data button.
Step 02. One Click Demo Import with RIVISTA active. One import is registered, so the screen shows the theme and a single Import Demo Data button.

What gets imported

ContentCountNotes
Pages72Your site will show 74, because WordPress and WooCommerce create the “Privacy Policy” and “Refund and Returns Policy” drafts on their own. 66 of the imported pages use the RIVISTA Demo Full Width template.
Journal posts6On Object Permanence · The Mills of Normandy · A Week in Porto · Why We Mend · Linen, Explained · Slow Thursdays.
Products10Simple products, two of them on sale, four marked featured. No SKUs, stock management, attributes or variations — prices are plain numbers, so they render in whatever currency your store uses.
Product categories5Accessories, Home, Knitwear, Outerwear, Tees.
Post categories4Journal, Materials, Cities, Studio Notes.
Media16 photographsPlus the WooCommerce placeholder image and the importer’s own log file.
Menus7 menus, 28 itemsPrimary, Mobile, four footer columns and Legal. See the table below.
Contact form1A Contact Form 7 form named “Contact form 1”.

What happens after the import

The theme finishes the setup for you. In order, it:

  • Assigns the RIVISTA layout template and per-page styling to every imported layout page.
  • Sets Settings → Reading to a static front page: Home as the front page and Magazine as the posts page.
  • Points WooCommerce at the imported Shop, Cart, Checkout and My account pages, and removes any duplicate copies the importer created.
  • Turns WooCommerce’s “Coming soon” site visibility off, so the store becomes publicly visible.
  • Sets the header style to Standard and the layout direction to Left to right.
  • Writes the announcement ticker text. It always ends with “New drop every Thursday | 30-day easy returns”. A free-shipping message is put in front of those only when your store already offers free shipping: “Free shipping over $80” in your own currency, rounded to whole units by WooCommerce’s own price formatting, when a Free shipping method carries a minimum order amount; a plain “Free shipping” when one carries none; and nothing at all when the store has no free-shipping method, or when WooCommerce is not active.
  • Rebuilds all seven menus from scratch, flat, and assigns them to their locations.
  • Moves WordPress’s five install-time widgets out of the footer into Inactive Widgets — they are never deleted, and widgets you added yourself are never touched.
  • Flushes the permalink rules.

Your site title, tagline, store currency and permalink structure are deliberately left alone, as are the colour pack, font pairing, style switcher and newsletter shortcode.

Menu locationMenuItems
Primary MenuPrimaryShop, Lookbook, Magazine, About, Contact
Mobile MenuMobileShop, Lookbook, Magazine, About, Contact
Footer Column 1Footer ShopCollections, Shop, Gift Cards, Wishlist
Footer Column 2Footer DiscoverStyle Quiz, Lookbook, Magazine, Sustainability
Footer Column 3Footer CompanyAbout, Stores, Careers, Press
Footer Column 4Footer HelpFAQ, Shipping & Returns, Size Guide, Contact
Legal LinksLegalPrivacy, Terms
Social Links—Not created by the import. Build your own (section 05).
Do this straight after the import
  • The store is now publicly visible. If you are not ready to sell, switch site visibility back to “Coming soon” under WooCommerce → Settings → Site visibility until payments, shipping and tax are configured.
  • Open Contact → Contact Forms → Contact form 1 → Mail and replace the demo To and From addresses with your own before you publish the contact page.
  • Delete the six pages that describe the theme rather than your store: Presentation, Demos, All Pages, Map, Promo and Documentation. The imported Documentation page in particular is an old placeholder — this file is the current manual.
  • The demo photography is licensed for demonstration only. Replace it with your own images before launch (section 17).

Import troubleshooting

The import stalls or times out
Raise memory_limit and max_execution_time on the host and run the import again. Re-running is safe: the WordPress importer skips posts it already created, and the menus are rebuilt from scratch every time.
The demo entry is missing from the list
The theme could not write its prepared copy of the demo file. Make wp-content/uploads writable and reload the screen.
Pages import but images do not
The photographs are fetched from your own site’s theme URL. Local setups behind a proxy, password-protected staging sites and blocked loopback requests all prevent that. Remove the block and run the import again.
Products or the contact form are missing
WooCommerce or Contact Form 7 was inactive during the import. Activate them and run the import again.
Page layouts look like plain text
The bundled markup is restored with PHP’s SimpleXML extension. Ask your host to enable SimpleXML/libxml, then re-run the import.
Links return 404
Open Settings → Permalinks and press Save Changes once. Keep a pretty permalink structure, not “Plain”.
05

Site setup after import.

Ten minutes of settings turn the demo into your shop. Work down this list in order.

Front page and blog

The import already sets these, but this is where you change them. Open Settings → Reading, keep A static page selected, and choose your homepage — the built-in Home, or any of the twenty demos (section 06). The Posts page is the journal index; the demo uses Magazine.

One condition: the page you pick must have a page template assigned, because a front page left on the default template falls through to the theme’s own editorial homepage. Every imported layout page carries one — all sixty-six of them, the twenty demos included. The five live WooCommerce and blog pages (Shop, Cart, Checkout, My account and Magazine) deliberately do not, because WordPress and WooCommerce drive them; do not pick one of those as your homepage. For a page you built yourself, open it and set Page → Template to RIVISTA Demo Full Width (or Editorial Home if you want the built-in homepage on that page), then save.

WordPress Reading Settings with A static page selected, Homepage set to Home and Posts page set to Magazine.
Settings → Reading as the import leaves it: A static page, with Home as the homepage and Magazine as the posts page. Swap the Homepage dropdown for any of the twenty demos.

Site title, tagline and logo

Go to Appearance → Customize → Site Identity. Upload a logo (the theme suggests 200 × 50 px and accepts flexible sizes); without one, the site title is used as the wordmark. The site description is shown as the eyebrow above the footer newsletter band, so keep it short.

Menus and their locations

Menus live under Appearance → Menus. The theme registers eight locations:

LocationWhere it appears
Primary MenuThe desktop header.
Mobile MenuThe slide-in menu on phones and tablets.
Footer Column 1–4The four footer columns, under the fixed headings Shop, Discover, Studio and Help.
Social LinksSocial icons. Each item’s URL is recognised automatically and replaced with an inline SVG icon — Instagram, Facebook, X/Twitter, YouTube, TikTok, Pinterest, LinkedIn, WhatsApp, Telegram and mailto: links are detected; anything else gets a generic link icon. The link text stays as screen-reader text, so keep it descriptive.
Legal LinksThe small print row at the very bottom.

Empty locations simply do not render. The Social location is the one the demo leaves for you: create a menu of custom links to your profiles and assign it there.

WooCommerce pages, currency and tax

  1. Check WooCommerce → Settings → Advanced — Cart, Checkout, My account and Terms should point at the imported pages. The import sets Shop, Cart, Checkout and My account for you.

  2. Set your country, currency and currency position under WooCommerce → Settings → General. Demo prices are plain numbers, so they pick up the new currency immediately.

  3. Configure tax under WooCommerce → Settings → Tax if you charge it.

Currency and the announcement bar

The ticker text is written once, at import time, using the currency your store had then. If you change currency afterwards, edit the text yourself in Appearance → Customize → RIVISTA Settings → Header Settings → Announcement text.

Shipping — and the free-shipping chip

Set your zones and rates under WooCommerce → Settings → Shipping. One setting feeds the front end directly:

  1. Open a shipping zone and choose Add shipping method → Free shipping.

  2. Edit the method and pick a requirement such as A minimum order amount, then enter the amount.

  3. The homepage chip strip reads that configuration and shows “Free shipping over <amount>” in your store currency. With a Free shipping method but no minimum it shows simply “Free shipping”; with no Free shipping method anywhere, no free-shipping chip is shown at all. Nothing is invented.

The mini-cart meter follows the same setting

The free-shipping progress bar inside the mini-cart drawer reads the smallest minimum order amount among your enabled Free shipping methods, so it lines up with the chip on its own — there is nothing to keep in sync. A store with no free-shipping method shows no meter. Use the rivista_free_shipping_threshold filter (section 11) only when you want to override that figure, or return 0 to hide the meter entirely.

Payments

Add gateways under WooCommerce → Settings → Payments and place one real test order end to end — cart, checkout, order received, and the order inside My account → Orders. All four screens are styled by the theme, so this is the fastest way to confirm everything is wired up.

Pre-launch checklist

  1. Choose the homepage, colour pack and font pairing.

  2. Upload the logo and write the tagline.

  3. Replace demo products and photography with your own.

  4. Finish shipping, tax and payments; place a test order.

  5. Write the Privacy, Terms and Shipping & Returns pages.

  6. Build the Social menu; review all seven menus.

  7. Replace the static demo contact form with a real Contact Form 7 form and set its mail addresses.

  8. Delete the six theme-showcase pages listed in section 04.

  9. Set the announcement text, or clear it to hide the ticker.

  10. Turn the style switcher off (it already is) before going live.

06

Homepage demos.

Twenty demo homepages arrive with the import, alongside the theme’s own live editorial front page. They are ordinary WordPress pages, so switching between them takes one setting and no rebuild.

The built-in editorial home

“Outfit of the day” is rendered in PHP from your real catalogue: a hero look carousel built from WooCommerce products, category tiles with live product counts, the chip strip (section 11), a product grid, an editorial teaser and the shared values and newsletter bands. It is the default front page, and it is also available as the page template Editorial Home so you can put it on any page. The imported Home page uses it.

Switching the homepage

  1. Open Settings → Reading.

  2. Select A static page and choose your demo in the Homepage dropdown.

  3. Save. The page keeps its own layout, styles and scripts — a demo looks the same as the front page as it did as an inner page.

The twenty layouts

Thumbnail of the Editorial demo homepage, quiet.
01Editorial — Quietindex-home
Thumbnail of the Bold demo homepage, fashion.
02Bold — Fashionindex-bold
Thumbnail of the Dark demo homepage, luxury.
03Dark — Luxuryindex-dark
Thumbnail of the Beauty demo homepage, pastel.
04Beauty — Pastelindex-beauty
Thumbnail of the Boutique demo homepage, living.
05Boutique — Livingindex-boutique
Thumbnail of the Showcase demo homepage, slider.
06Showcase — Sliderindex-showcase
Thumbnail of the Gallery demo homepage, slider.
07Gallery — Sliderindex-gallery
Thumbnail of the Atelier demo homepage, slider.
08Atelier — Sliderindex-atelier
Thumbnail of the Kinetic demo homepage, motion.
09Kinetic — Motionindex-kinetic
Thumbnail of the Mosaic demo homepage, grid.
10Mosaic — Gridindex-mosaic
Thumbnail of the Collage demo homepage, editorial.
11Collage — Editorialindex-collage
Thumbnail of the Curtain demo homepage, reveal.
12Curtain — Revealindex-curtain
Thumbnail of the Diagonal demo homepage, dynamic.
13Diagonal — Dynamicindex-diagonal
Thumbnail of the Journal demo homepage, magazine.
14Journal — Magazineindex-journal
Thumbnail of the Reveal demo homepage, scroll.
15Reveal — Scrollindex-reveal
Thumbnail of the Runway demo homepage, fashion.
16Runway — Fashionindex-runway
Thumbnail of the Spotlight demo homepage, focus.
17Spotlight — Focusindex-spotlight
Thumbnail of the Stack demo homepage, layered.
18Stack — Layeredindex-stack
Thumbnail of the Tilt demo homepage, 3d.
19Tilt — 3Dindex-tilt
Thumbnail of the Typo demo homepage, type.
20Typo — Typeindex-typo

Each thumbnail is the top of that demo as the import builds it, on a 1440 px screen. Preview any of them at /index-<name>/.

The same twenty layouts as a slug reference.
NºDemoPage slugCharacter
01Editorial — Quietindex-homeRestrained magazine grid, generous white space.
02Bold — Fashionindex-boldOversized type, high-contrast blocks.
03Dark — Luxuryindex-darkDark canvas with a newsletter band.
04Beauty — Pastelindex-beautySoft palette, product-led.
05Boutique — Livingindex-boutiqueInteriors and homeware feel.
06Showcase — Sliderindex-showcaseFull-bleed slider hero.
07Gallery — Sliderindex-galleryGallery-style sliding frames.
08Atelier — Sliderindex-atelierStudio narrative with the journal block.
09Kinetic — Motionindex-kineticMotion-led, type in movement.
10Mosaic — Gridindex-mosaicDense grid for large catalogues.
11Collage — Editorialindex-collageOverlapping editorial collage.
12Curtain — Revealindex-curtainCurtain reveal on scroll.
13Diagonal — Dynamicindex-diagonalAngled sections with a live product block.
14Journal — Magazineindex-journalContent-first, for brands that publish.
15Reveal — Scrollindex-revealScroll-driven reveals.
16Runway — Fashionindex-runwayRunway pacing with a live product block.
17Spotlight — Focusindex-spotlightOne hero product in focus.
18Stack — Layeredindex-stackStacked, layered panels.
19Tilt — 3Dindex-tiltTilting cards with a newsletter band.
20Typo — Typeindex-typoTypographic, image-light.
How a demo page keeps its look

Each layout page carries a hidden marker that tells the theme which stylesheet and script to load. A page you create by hand with the RIVISTA Demo Full Width template has no marker, so it gets the generic page styling. To build on a demo, duplicate the existing page with a duplicator plugin (which copies the marker) rather than starting from an empty one.

07

Pages guide.

Seventy-two pages arrive with the demo. Some are live — they read your real data. The rest are hand-built editorial layouts you edit like any other page.

Live reads real WordPress or WooCommerce data. Layout is demo copy stored in the page content: edit the text, prices and names directly in the editor.

Page templates

The theme registers exactly two page templates, selectable in the editor under Page → Template:

TemplateWhat it does
RIVISTA Demo Full WidthA full-width wrapper that prints the page content untouched, so bundled HTML layouts survive. Used by 66 of the imported pages.
Editorial HomeRenders the built-in “Outfit of the day” homepage on any page.

Shop & commerce

PageSlugTypeWhat it is
ShopshopLiveThe WooCommerce archive, rendered by the theme’s editorial shop template.
CartcartLiveWooCommerce Cart block, fully restyled.
CheckoutcheckoutLiveWooCommerce Checkout block, fully restyled.
My accountmy-accountLiveThe real account area, styled throughout.
WishlistwishlistLiveRenders the shopper’s saved products, with a share link, add-all-to-bag and suggestions.
ComparecompareLiveA real comparison table of the selected products.
CollectionscollectionsLayoutEditorial grid of categories.
CategorycategoryLayoutCategory landing design.
Shop Listshop-listLayoutList view with a filter sidebar design.
Product Editorialproduct-editorialLayoutMagazine-style product story.
Shop The Lookshop-the-lookLayoutInteractive bundle builder.
Gift Cardsgift-cardLayoutGift-card designer. It does not issue a real gift card — pair it with a gift-card plugin.
Fit Finderfit-finderLayoutSize quiz.
ConfirmationconfirmationLayoutThank-you design. The real one is WooCommerce’s order-received page.

Account

Six designed account screens — account, account-orders, account-order, account-addresses, account-settings and sign-in — all Layout. They exist so you can show a branded account experience and style-match plugins. The functional account area is my-account.

Editorial & content

PageSlugTypeWhat it is
MagazinemagazineLiveThe journal index with its masthead; your posts page.
LookbooklookbookLayoutSeasonal looks. The shop archive links to it from its story tile.
Lookbook Interactivelookbook-interactiveLayoutShoppable hotspots over photography.
Style Quizstyle-quizLayoutPreference quiz.
ArchivearchiveLayoutPast-seasons timeline.
EventseventsLayoutWorkshops and dates.
DropsdropsLayoutCountdown and waitlist design.
MembersmembersLayoutLoyalty tiers.
MakersmakersLayoutMaker and workshop profiles.

Company, help and legal

  • Company — about (Studio), sustainability (Our Materials), stores, careers, press.
  • Help — faq, shipping-returns, size-guide, contact, order-tracking. The order-tracking page looks up sample order numbers for demonstration; it does not query WooCommerce orders, so replace it with WooCommerce’s own order-tracking form or a tracking plugin.
  • Legal — privacy, terms. Both hold placeholder copy. Write your own before launch.

Utility, system and showcase

  • search is a designed results page; real search results are rendered by the theme’s own search template at ?s=.
  • coming-soon, sliders (twelve slider patterns) and elements (the style guide: colours, type and components) are reference pages — elements is genuinely useful while you customise.
  • presentation, demos, all-pages, map, promo and documentation describe the theme, not your store. Delete them before launch.
Editing layout pages

Layout pages are markup stored in the page content. Edit them in the block editor’s Code editor view (Options → Code editor), or edit only the visible text in the visual view. Keep the wrapper elements and their classes — they carry the styling.

08

Customizer reference.

Every theme option lives in one panel: Appearance → Customize → RIVISTA Settings. There is no separate options page, and nothing is hidden behind a licence key.

The WordPress Customizer open on RIVISTA Settings, Color Packs: a grid of colour swatches on the left and a live preview of the shop on the right.
RIVISTA Settings → Color Packs. Each swatch carries three dots — page background, accent and text. Picking one repaints the preview on the right immediately; nothing is saved until you press Publish.
SectionSettingDefaultWhat it does
Color PacksSelect Theme Color PackPaperSwatch grid of 22 packages. The three dots on each swatch show the page background, accent and text colour. The preview updates the moment you pick a pack.
Color PacksShow the style switcher to visitorsOffAdds a floating panel where visitors try packs, typefaces and light/dark on their own device. Meant for demo sites; leave it off on a live store.
TypographyFont pairingContemporaryFive site-wide pairings for headings, body and italic accents.
Header SettingsHeader StyleStandardStandard, Centered, Minimal Overlay or Block.
Header SettingsSite layout directionAutomaticSets the public site’s direction independently of the dashboard language.
Header SettingsAnnouncement textEmptyAny text here renders the scrolling ticker above the header. Clear it to remove the ticker.
Footer SettingsNewsletter form shortcodeEmptyPaste a shortcode from Contact Form 7 or another form plugin to render the footer newsletter band. Empty hides the whole band.

Colour packs

All 22 packages, grouped by how they treat the footer:

Light packs

  • Paper (default)
  • Porcelain
  • Sand
  • Sage
  • Clay
  • Harbour
  • Blush
  • Sky
  • Butter
  • Pistachio
  • Luxury Warm+
  • Bright Fashion
  • Minimal White
  • Premium Coral

Light page, dark footer

  • Dark Foot — Coral
  • Dark Foot — Olive
  • Dark Foot — Sky
  • Dark Foot — Plum
  • Dark Foot — Gold
  • Dark Foot — Teal

Fully dark

  • Midnight
  • Forest

A pack sets the page background, accent and ink colour for the whole site. Individual demo pages that are designed dark stay dark under any pack.

Typography

PairingDisplay / Italic / Body
Contemporary (default)Space Grotesk / Instrument Serif / Inter — the three bundled typefaces.
Editorial SerifPlayfair Display with a Georgia fallback. Playfair is not bundled and no font service is called, so visitors without it locally see Georgia.
Modern GrotesqueSpace Grotesk headings, Georgia italics, Inter body.
Classic SerifGeorgia throughout.
System UIThe visitor’s own interface font, Georgia for italics. The fastest option.

Header styles

Standard
Logo on the leading edge, menu on the trailing edge. The default and the safest.
Centered
Logo centred with the menu on a row beneath it.
Minimal Overlay
A transparent header with light text that sits over the page. Designed for pages that open with a dark, full-bleed hero — on light pages the links will be hard to read.
Block
A solid, boxed header with a border.

Layout direction

Automatic follows the site language and switches to right-to-left for Arabic, Persian, Hebrew and Urdu. Left to right and Right to left force the public site regardless of the dashboard language, which is what you want when you administer an RTL store in English. See section 13.

Announcement bar

Whatever you type is announced politely to screen readers and scrolls as a ticker. Separate messages with a pipe, exactly as the import does: Free shipping over $80 | New drop every Thursday | 30-day easy returns. Keep it plain text. (The import writes that first message only when your store really offers free shipping — section 04.)

Newsletter band in the footer

Build a form in Contact Form 7 (or your mailing provider’s plugin), copy its shortcode, and paste it into RIVISTA Settings → Footer Settings → Newsletter form shortcode. The band then shows your tagline as an eyebrow, the site name as a wordmark, and your form. Leave the field empty and the band disappears entirely.

The style switcher

Turned on, a floating button opens a panel where visitors try all 22 colour packs, four typefaces and light or dark mode. Choices are stored in that visitor’s own browser only and never change your site for anyone else.

Leave it off on a live store

It is off by default, and it is meant for demo and portfolio sites. On a real shop it distracts from the products and lets visitors see a palette you did not design for.

WordPress settings the theme uses

Outside the RIVISTA panel, these core Customizer sections matter: Site Identity (logo, title, tagline, site icon), Background, Menus, Widgets (one area, Footer Widgets, shown above the footer navigation), Homepage Settings and Additional CSS for small tweaks.

09

WooCommerce features.

The storefront is WooCommerce, re-drawn. Every feature below works with the plugin alone — no extensions, no accounts, no external service.

Shop archive

  • Editorial header with the result count set as a serif superscript beside the title.
  • A row of category tabs with live product counts, plus WooCommerce’s sorting select and result count.
  • An optional full-width “story” tile woven into the grid after the fourth product, linking to your lookbook. It appears on page one of the main shop only, and only when that page lists at least eight products and a published Lookbook page exists.
  • Hairline pagination, or an end-of-collection line that points to the collections page.

Product cards

Used on the shop, category archives, related products, upsells and cross-sells: a 4:5 photograph, badges for Sold out, Sale and “Only N left” when stock is managed and low, a hover stack of wishlist / compare / quick-view buttons, the title, price, category and star rating. The real WooCommerce add-to-cart link sits over the photograph, so AJAX add-to-cart and cart fragments keep working. Simple, purchasable, in-stock products read Add to bag; every other product type keeps WooCommerce’s own wording.

Product page

  • WooCommerce’s own gallery with zoom, lightbox and a thumbnail slider — images you add under Product gallery appear automatically.
  • The title splits on an em dash, so “Linen Crewneck — Stone” sets the colour in serif italic.
  • Price with a computed discount label, star rating (or an invitation to write the first review), short description and the real add-to-cart form for every product type.
  • A quantity stepper that respects the product’s minimum, maximum and step values.
  • An expandable block of store guarantees — editable through a filter (section 11).
  • SKU, categories and tags; the standard Description / Additional information / Reviews tabs; upsells; and the theme’s own “Pair with” block, which shows related products and tops the row up when there are fewer than four.
  • A sticky add-to-bag bar that slides in once the buy box scrolls out of view.
  • Variable products get a styled attribute picker.

Wishlist

Every card and product page carries a heart. Saved products live in the visitor’s browser — no account, no plugin, nothing stored on your server — and the header shows a live count. The wishlist page renders the real products with prices, a running total, a share link, add-all-to-bag and four suggestions.

Compare

Shoppers can compare up to four products. A sticky tray follows them around the site (a full row on desktop, a “Compare · N” pill on phones that expands on tap and closes with Esc), staying in sync across browser tabs. The tray hides itself on cart, checkout, account and order pages. The compare page builds a real table — price, rating, availability, category, SKU and one row per product attribute — with a switch to highlight only the differences.

Quick view and quick add

The eye icon opens a modal with the product image, category, title, rating, short description, price, a working add-to-cart and a link to the full page. It traps focus and closes with Esc. The plus icon on a card adds a simple product straight to the bag and flips to a tick.

Mini-cart drawer

The header cart button opens a drawer containing WooCommerce’s own mini-cart, refreshed through cart fragments. The theme adds a free-shipping progress meter, a quantity stepper on each line, a clean subtotal row and the note that shipping and taxes are calculated at checkout.

Cart, checkout and orders

The demo cart and checkout pages use the WooCommerce Cart and Checkout blocks, restyled in detail: line items, quantity pills, the coupon field, the order summary, express payment buttons and the phone checkout flow. The empty cart gets its own heading and a “Continue shopping” button. Classic shortcode cart and checkout pages still work and inherit the shared styling. The order-received page and My account → View order are styled too, with the grand total picked out.

Compatibility with other plugins

All shop templates fire the standard WooCommerce hooks — woocommerce_before_main_content, the shop-loop hooks, woocommerce_single_product_summary and the rest — so badge, size-chart, wishlist and review plugins hook in where they expect to. The callbacks the theme draws itself are unhooked in one place, rivista_wc_hook_layout() in inc/commerce-features.php, which a child theme can re-add or reorder.

Not included — so you can plan for plugins

Recently-viewed products, a product-page size-guide modal, colour/image variation swatches, product filters or live search, a currency switcher, and order tracking against real WooCommerce orders are not part of the theme. Add a plugin for any of these; the theme’s styling is deliberately neutral so they fit in.

10

Elementor & RIVISTA Core.

The Elementor integration lives in a companion plugin, not in the theme, so your content keeps working if you ever change themes.

  1. Install RIVISTA Core from Appearance → Install Plugins. It ships inside the theme, so nothing is downloaded.

  2. Install and activate Elementor.

  3. Edit any page with Elementor and look in the Basic widget category.

WidgetControlsNotes
RIVISTA HeroEyebrow, title, image, button text, button linkAn editorial hero block. The link field accepts Elementor dynamic tags.
RIVISTA MarqueeMarquee textThe text repeats in a scrolling track.
RIVISTA Product RailNumber of products (1–12, default 4)Shows your latest published products with image, name and price. Renders nothing without WooCommerce, and says so when the catalogue is empty.

Beyond the widgets, the only other thing the plugin ships is the four section shortcodes of section 11 — the tags, the render code behind them, and a small base stylesheet that keeps the sections presentable under other themes — no post types, no settings screen, no demo content. It carries its own translation template at languages/rivista-core.pot with the text domain rivista-core, and its own right-to-left stylesheet.

Elementor is optional

The demo content contains no Elementor data at all. You can run the entire demo site, and the whole theme, without ever installing Elementor.

11

Filters, chips & developer notes.

Everything below belongs in a child theme’s functions.php (section 12) or a small site plugin — never in the parent theme, which an update will overwrite.

Filters the theme provides

Eleven filters, and that is the whole list: RIVISTA fires no custom actions of its own, so anything else you want to move sits on a WordPress or WooCommerce hook. The file under each name is where the filter runs, in case you want to read the surrounding code.

FilterDefaultControls
rivista_home_chips
front-page.php
Store-honest chips, built from your real settings and pagesThe chip strip on the built-in homepage. See below.
rivista_free_shipping_threshold
inc/commerce-features.php
The smallest minimum order amount among the store’s enabled WooCommerce free-shipping methods; 0 (meter hidden) when the store has noneThe free-shipping meter in the mini-cart drawer. Return 0 or less to remove the meter.
rivista_trust_badges
inc/commerce-features.php
Secure checkout · Free shipping · 30-day returnsThe store guarantees. Each item is an array of icon, title, sub and, on the product page, url. Valid icons: shield, truck, refresh, heart, compare, eye, check, close. The product page registers its own defaults at priority 1, so hook at priority 10 or later to win.
rivista_shipping_returns_url
woocommerce/single-product.php
The permalink of a published shipping-returns page, or an empty string when there is noneThe policy link inside the product-page guarantees. An empty string prints the rows without links.
rivista_shop_story
woocommerce/archive-product.php
Image, headline, text and a link to the Lookbook page — but only on page one of the main shop, only when that page lists at least eight products, and only when a published lookbook page exists. An empty array otherwiseThe editorial story tile inside the shop grid. Return an empty array to remove it, or a full array to force it on.
rivista_home_model_shots
front-page.php
Four bundled photographsThe hero photographs on the built-in homepage, as file names inside demo-content/media/2026/06/.
rivista_home_season_label
front-page.php
The EditThe kicker above the homepage hero, repeated on the editorial badge lower down. Kept deliberately seasonless so the homepage never freezes on one collection; dates on the page are printed live. Plain text — tags are stripped.
rivista_home_editorial_text
front-page.php
A neutral paragraph about the studio reviewing every productThe teaser copy in the editorial band on the built-in homepage. Plain text.
rivista_mega_feature_heading
template-parts/header/site-header.php
The new collection.The heading on the feature card inside the header mega-menu. Seasonless by default, for the same reason as the homepage kicker.
rivista_content_width
inc/theme-setup.php
1200WordPress’s $content_width, set on after_setup_theme.
rivista_hide_compare_bar
inc/commerce-features.php
true on cart, checkout, account and the order-received, order-pay and view-order endpoints; false everywhere elseWhether the sticky compare tray is suppressed on the current view.

The homepage chip strip

The row of chips under the homepage hero is a filterable array. Each chip is an array with:

label
The text. Required.
url
Optional. When set, the chip renders as a link.
style
One of sky, butter, ink, rose or outline.

The defaults are built to be true for any store, not just the demo:

  • A free-shipping chip built from your real WooCommerce settings: “Free shipping over <amount>” in your store currency when a Free shipping method with a minimum order amount exists, “Free shipping” when one exists without a minimum, and no chip at all when your store offers no free shipping.
  • Chips that link to real pages the demo import creates — the shipping & returns page, the size guide, gift cards, and the journal article about mending — each shown only when that page or post actually exists on your site. Each label is the page’s own title, so renaming the page renames the chip.

Nothing is claimed that your store has not been configured to do. Add, remove or replace chips with the filter:

<?php
add_filter( 'rivista_home_chips', function ( $chips ) {

    // Add one chip that links to a page.
    $chips[] = array(
        'label' => __( 'Made in our own studio', 'rivista-child' ),
        'url'   => home_url( '/about/' ),
        'style' => 'outline',
    );

    // Or replace the whole strip:
    // $chips = array(
    //     array( 'label' => 'Complimentary gift wrapping', 'style' => 'butter' ),
    //     array( 'label' => 'Ships in 24 hours',          'style' => 'ink' ),
    // );

    return $chips;
} );

The homepage hero tags

The hero carousel shows up to four looks, taken from the first products in your catalogue (menu order, then newest) that have a featured image. It prints one tag per look in the bottom bar and highlights the tag belonging to the look on screen, so no two tags may read the same. Each label is therefore the look’s first product category — ignoring the store’s default category — if no earlier look has used it; otherwise the product name shortened to the part before the em dash; and if that still collides, the full product name. Nothing to configure: rename a category or a product and the tags follow.

Overriding the mini-cart meter

The meter already reads the smallest minimum order amount among your enabled WooCommerce free-shipping methods, and hides itself when the store has none — so most shops never touch this. Use the filter when you want a different figure from the one in your shipping zone.

<?php
// The number is in store currency, with no symbol. Return 0 to hide the meter.
add_filter( 'rivista_free_shipping_threshold', function () {
    return 120;
} );

Rewriting the store guarantees

<?php
add_filter( 'rivista_trust_badges', function () {
    return array(
        array(
            'icon'  => 'truck',
            'title' => __( 'Free UK delivery', 'rivista-child' ),
            'sub'   => __( 'On orders over 75', 'rivista-child' ),
            'url'   => home_url( '/shipping-returns/' ),
        ),
        array(
            'icon'  => 'refresh',
            'title' => __( '30-day returns', 'rivista-child' ),
            'sub'   => __( 'No questions asked', 'rivista-child' ),
        ),
    );
}, 20 );

Section shortcodes

Four ready-made bands can be dropped into any page or post, and are used by several demo layouts. Both the tags and the sections’ render code live in the bundled RIVISTA Core plugin (section 10), so the content keeps rendering even if you later switch themes — under a foreign theme the plugin adds a small base stylesheet, while RIVISTA styles the sections in full. The theme’s front page draws its values and newsletter bands through the same plugin functions, so keep the plugin active; without it those two bands are simply omitted. They are shortcodes, not blocks — there is nothing to find in the block inserter under a RIVISTA heading. Add them with the editor’s Shortcode block, or simply type them into the content. Add tone="dark" to any of them on a dark page.

These four are the only shortcodes RIVISTA Core registers, and the plugin renders them itself, so the bands survive a theme switch. Deactivate the plugin and the tags print as plain text.
ShortcodeAttributesRenders
[rivista_products]limit (4), eyebrow, title, toneYour latest products as editorial cards.
[rivista_journal]limit (3), eyebrow, title, toneYour latest journal posts.
[rivista_values]items, toneA marquee of promises. Separate items with | and mark the italic part with ~, e.g. items="Made~slowly|Packed~by hand".
[rivista_newsletter]eyebrow, title, text, action, toneA subscribe band. Without an action URL it only shows a confirmation message, so point it at your mailing provider’s endpoint — the field is posted as email.

Other things worth knowing

  • AJAX actions (front end, logged in or out, all nonce-checked): rivista_quick_view, rivista_wishlist_items, rivista_compare_items, rivista_compare_bar, rivista_set_cart_qty.
  • Pluggable functions a child theme can redefine: rivista_setup(), rivista_posted_on(), rivista_posted_by(), rivista_entry_footer(), rivista_post_thumbnail().
  • Theme mods behind the Customizer panel, readable with get_theme_mod(): rivista_premium_pack, rivista_style_switcher, rivista_font_pack, rivista_header_style, rivista_layout_direction, rivista_announcement_text, rivista_newsletter_shortcode.
  • Browser storage (all local to the visitor): rivista-wishlist, rivista-compare, rivista-compare-meta, rivista-pack, rivista-type, rivista-theme, rivista-newsletter-subscribed, plus two session keys for the preloader and the newsletter popup.
  • Image sizes: the theme registers none of its own and uses WordPress and WooCommerce sizes, so WooCommerce’s image settings under Appearance → Customize → WooCommerce → Product Images control the catalogue crop.
  • Editor extras: a “RIVISTA Frame” block style for the Image block and an “Editorial Introduction” block pattern.
12

Child theme.

No child theme is bundled, because a good one is six lines long and belongs to your project. Create it before you change any PHP or CSS — edits to the parent theme are lost on the next update.

  1. Create the folder wp-content/themes/rivista-child/.

  2. Add style.css with the header below.

  3. Add functions.php with the enqueue block below.

  4. Add an empty custom.css for your own rules.

  5. Activate RIVISTA Child under Appearance → Themes.

rivista-child/style.css

/*
Theme Name: RIVISTA Child
Template: rivista
Version: 1.0.0
Text Domain: rivista-child
*/

rivista-child/functions.php

<?php
add_action( 'wp_enqueue_scripts', function () {

    // The parent's style.css is enqueued as get_stylesheet_uri(), which points at
    // the CHILD once a child theme is active, so load the parent sheet explicitly.
    wp_enqueue_style(
        'rivista-parent-style',
        get_template_directory_uri() . '/style.css',
        array(),
        wp_get_theme( 'rivista' )->get( 'Version' )
    );
    wp_style_add_data( 'rivista-parent-style', 'rtl', 'replace' );

    // Put your own rules in a separate file that depends on the LAST theme sheet,
    // otherwise the theme's own stylesheets win the cascade.
    wp_enqueue_style(
        'rivista-child-custom',
        get_stylesheet_directory_uri() . '/custom.css',
        array( 'rivista-custom-cards' ),
        '1.0.0'
    );
}, 20 );

What a child theme can and cannot override

  • Templates and the woocommerce/ overrides can be copied into the child and edited normally — keep the same file names.
  • The child’s own style.css loads automatically, but before the theme’s main stylesheets, so rules there lose at equal specificity. Use the extra custom.css above.
  • Demo media and the Customizer control assets are child-overridable; the shared CSS and JavaScript always load from the parent.
  • rivista_setup() and the four template tags are pluggable, so a child can replace them wholesale.
Importing the demo with a child theme active

The import resets page templates that do not exist in the active theme folder. If your child copies templates, keep the original file names; otherwise import the demo while the parent theme is active and switch to the child afterwards.

13

RTL & translation.

Every user-facing string in the theme’s PHP is translatable, and every stylesheet ships a mirrored right-to-left twin.

Translating the theme

Text domain
rivista for the theme, rivista-core for the companion plugin.
Template
languages/rivista.pot inside the theme — 344 translatable entries in version 1.4.0 (342 unique strings; a couple repeat under a translator context). Poedit and Loco Translate always report the count for the copy in front of you. The plugin’s template is languages/rivista-core.pot.
Where to save
Save finished files as rivista-<locale>.po / .mo — for example rivista-fr_FR.mo. Put them in wp-content/languages/themes/ so that theme updates cannot overwrite them.

With Loco Translate (in the dashboard)

  1. Install Loco Translate and open Loco Translate → Themes → RIVISTA.

  2. Press New language, pick your locale, and choose the location “Custom” (languages/themes/) rather than the theme folder.

  3. Translate the strings and press Save. Loco compiles the .mo file for you.

  4. Repeat for the RIVISTA Core plugin if you use the Elementor widgets.

With Poedit (on your computer)

  1. Open languages/rivista.pot in Poedit and choose Create new translation.

  2. Select the language and translate.

  3. Save as rivista-<locale>.po; Poedit writes the matching .mo beside it.

  4. Upload both files to wp-content/languages/themes/.

Right-to-left layouts

Set the site language to an RTL locale under Settings → General, and WordPress swaps in the mirrored stylesheet for every theme sheet automatically — the main styles, the shared styles, the commerce styles and all 72 per-page stylesheets each ship an -rtl.css twin. On top of that the theme keeps prices, SKUs, counters and the wordmark reading left to right, and flips directional arrows.

After a demo import on an RTL site

The import sets the layout direction to Left to right. Change it back under Appearance → Customize → RIVISTA Settings → Header Settings → Site layout direction — choose Automatic to follow the site language, or Right to left to force it.

Because direction is applied on the public site only, you can keep the dashboard in one language and run the storefront in another. If you edit the parent theme’s stylesheets directly, regenerate the mirrors with npm install once and then npm run build:rtl; hand-written RTL corrections belong in assets/css/_rtl.css. Working in a child theme, you do not need to regenerate anything.

Strings that are not translatable

A few pieces of front-end copy are written into JavaScript and demo content rather than PHP: the preloader wordmark and its lines, the newsletter pop-up copy and its success message, the demo newsletter confirmation, the mobile submenu toggle label, and all imported demo page content, which is English. Edit the demo pages in the editor, and adjust the rest in a child theme if you need them in another language.

14

Performance & privacy.

The theme makes no outbound requests. What your visitors load comes from your own server, which is good for speed and simple for privacy law.

Self-hosted fonts

Space Grotesk, Instrument Serif and Inter ship as WOFF2 files inside the theme and are declared with font-display: swap. No Google Fonts request is ever made, so no visitor IP address is shared with a font service.

No third-party assets

No CDN, no analytics, no tracking pixel, no remote script or stylesheet of any kind. The only external URLs in the front end are the social share links a visitor chooses to click.

Conditional loading

Per-page styles and scripts load only on the page that needs them; WooCommerce styles load only where WooCommerce is being shown, and only when the plugin is active. Every file is versioned by its modification time, so browser caches refresh on update.

No JavaScript libraries

Sliders, reveals, the mega menu, the compare tray and the mini-cart are plain JavaScript — no animation framework, no slider plugin. Reduced-motion preferences are respected by the preloader, the reveals and every autoplay slider.

Data the front end stores

Wishlist, compare list, style-switcher choices and the “newsletter pop-up already seen” flag are kept in the visitor’s own browser storage. Nothing is sent to your server or to anyone else, and clearing site data removes it all. WooCommerce’s own cookies and any plugins you add are of course governed by their own policies — describe them in your privacy page.

Demo forms do not send anything

The contact, sign-in, gift-card, drops and newsletter forms inside the demo page content are front-end designs: they show a confirmation and stop there. Before launch, replace the contact form’s markup with a real Contact Form 7 shortcode, and point the newsletter band at your mailing provider. Never leave a form that appears to collect an email address but does not.

Getting the most out of it

  • Replace demo photographs with your own, exported at the size they are displayed, and serve WebP where you can.
  • Set WooCommerce’s catalogue image size once and regenerate thumbnails after you change it.
  • Add a page-cache plugin and enable your host’s object cache; nothing in the theme fights caching.
  • Keep the announcement text short — it is the first thing painted.
15

Updating the theme.

  1. Back up the database and the wp-content folder, or take a snapshot with your host.

  2. Download the latest package from the marketplace and unzip it to get the new rivista-theme.zip.

  3. Go to Appearance → Themes → Add New → Upload Theme, choose the file and confirm Replace current with uploaded. Alternatively replace the rivista folder over FTP.

  4. If you use the Elementor widgets, update RIVISTA Core from Appearance → Install Plugins, which serves the version bundled with the new theme.

  5. Clear any page cache or CDN cache, then reload the site and check the homepage, a product and the checkout.

Your content, menus, widgets and Customizer settings are untouched by an update. There is no need to re-run the demo import, and you should not: it rebuilds menus and reassigns pages.

Keep your changes update-proof

Anything you edited inside the theme folder is replaced on update. Move CSS into Appearance → Customize → Additional CSS for small tweaks, and PHP or template changes into a child theme (section 12).

16

FAQ & troubleshooting.

My homepage shows the editorial front page, not the demo I chose

Open Settings → Reading, select A static page, and set the Homepage dropdown to your demo page.

If it is still the editorial homepage, the page you chose has no page template assigned. The theme steps aside for a front page that carries one; a page left on the default template falls through to the built-in Outfit of the day markup. The twenty imported demos already carry the demo template, so this only bites a page you created yourself: edit it, set Page → Template to RIVISTA Demo Full Width, and update.

A page I created with the RIVISTA template looks unstyled

Per-page styling is attached to the imported demo pages by a hidden marker. Duplicate an existing demo page (with a duplicator plugin, which copies the marker) instead of creating a blank page with the template.

Menu links return 404 after the import

Open Settings → Permalinks and press Save Changes once. Keep a pretty permalink structure — several demo links point at fixed paths such as /shop/, /lookbook/ and /wishlist/.

The contact form does not send email

The imported contact page uses a designed form that only shows a confirmation. Create a form in Contact Form 7, copy its shortcode, edit the contact page and put the shortcode where the demo form markup is. Then set the To and From addresses on the form’s Mail tab, and install an SMTP plugin if your host does not deliver PHP mail reliably.

The style switcher is nowhere to be seen

It is off by default. Turn on Customize → RIVISTA Settings → Color Packs → Show the style switcher to visitors. Leave it off for a live store.

I changed the colour pack but my browser still shows the old one

If the style switcher was ever switched on, your own browser may be holding a personal choice. Open the switcher and press Reset to default, or clear site data for your domain. Also clear any page-cache or CDN cache.

The site is right-to-left in the dashboard but not on the front end

The demo import sets the public direction to left-to-right. Change Customize → RIVISTA Settings → Header Settings → Site layout direction to Automatic or Right to left.

The mini-cart shows no free-shipping meter

The meter reads the smallest minimum order amount among your enabled WooCommerce free-shipping methods, and stays hidden when the store has none — it never promises free shipping you do not offer. Add a Free shipping method with A minimum order amount under WooCommerce → Settings → Shipping (section 05), or set a figure yourself with the rivista_free_shipping_threshold filter (section 11). The homepage chip follows exactly the same setting.

A demo page shows prices or a currency I do not use

Layout pages hold editorial copy, including any figures written into the design. Edit the page and change the text. Everything rendered from WooCommerce — the shop, product pages, cart, checkout and the product blocks — always uses your store currency.

The header is transparent with white links on a light page

That is the Minimal Overlay header style, designed for pages that open with a dark full-bleed hero. Choose Standard, Centered or Block under Customize → RIVISTA Settings → Header Settings.

Can I use RIVISTA without WooCommerce?

Yes. The editorial pages, the journal and the layout demos work on their own; every commerce feature simply does not load. Install WooCommerce whenever you are ready to sell.

Can I import the demo on a site that already has content?

You can, but take a full backup first. The import adds its own pages, posts and products beside yours, rebuilds the seven demo menus, and changes the front page, posts page and WooCommerce page assignments. It never deletes your posts, pages or widgets.

How do I remove the announcement ticker or the footer newsletter band?

Clear Announcement text under Header Settings to remove the ticker, and clear Newsletter form shortcode under Footer Settings to remove the band. Both disappear entirely when empty.

Where do the twenty demos live after the import?

They are ordinary pages at /index-<name>/, listed in Pages → All Pages. Delete the ones you will not use — nothing else depends on them.

17

Credits & licences.

The full, per-file credits list ships with the theme in THIRD-PARTY-CREDITS.md. This is the summary.

ComponentLicenceNotes
RIVISTA themeGPLv2 or laterThe theme’s PHP, CSS and JavaScript. See LICENSE.
RIVISTA Core pluginGPL-2.0-or-laterThe bundled companion plugin.
WordPress · WooCommerceGPLNot bundled; installed from wordpress.org.
TGM Plugin ActivationGPL-2.0-or-laterThe plugin-recommendation library, unmodified.
Space Grotesk — Florian Karsten
Instrument Serif — Instrument
Inter — Rasmus Andersson
SIL Open Font License 1.1The three bundled typefaces. Licence text in assets/fonts/OFL.txt.
Demo photographyPexels License25 photographs, credited per file in THIRD-PARTY-CREDITS.md. Sixteen live in demo-content/media/ and become attachments in your Media Library at import time; they are also the ones the homepage hero and the mega-menu feature card read straight from the theme folder. The other nine live in assets/images/, are linked directly by a few demo page layouts, and never become attachments.
About the demo photographs

They are included so the demo looks complete. They are not part of the GPL-licensed code, they may not be resold or redistributed on their own, and they are guidance for the kind of imagery the layouts expect — not stock you have bought. Replace them with your own licensed photography before you launch.

18

Changelog.

The canonical list lives in readme.txt inside the theme.

1.4.0

  • The four editorial section shortcodes moved into the bundled RIVISTA Core plugin (updated to 1.3.0) — tags, render functions and a minimal base stylesheet — so shortcode content survives a theme switch. The theme keeps the sections’ full design in its CSS, and the front page’s values and newsletter bands are omitted cleanly when the plugin is inactive.
  • Honest store copy by default. The homepage chip strip is now built from the store’s own settings — a free-shipping chip only when WooCommerce actually has a free-shipping method, carrying its real minimum in the store currency, and policy chips only for pages that exist. The mini-cart meter reads the same threshold from WooCommerce instead of assuming one, and the trust badges, values marquee, newsletter band, product-page guarantees and demo template scripts lost their hard-coded amounts, currency symbols and policy promises. The whole strip is filterable through rivista_home_chips.
  • The demo importer writes the announcement ticker in the store’s own currency at import time, so the shipped copy matches the shop it lands in.
  • Nothing freezes on one season. The homepage kicker and the mega-menu feature heading are seasonless and filterable (rivista_home_season_label, rivista_mega_feature_heading), dates print live, each hero look carries its own tag, and the Magazine index takes its lede from the blog page excerpt or the site tagline instead of a fictional editor.
  • The theme’s own script no longer declares jQuery as a dependency, so a site without WooCommerce loads no jQuery for the theme at all. Every theme script is vanilla JavaScript; the only jQuery touch points are guarded calls that fire WooCommerce’s cart-fragment event on stores where WooCommerce has already loaded it.
  • Right-to-left support throughout: every stylesheet ships a generated mirrored twin, and prices, SKUs and counters stay left-to-right.
  • WooCommerce templates now fire the standard hooks. The product page uses the core gallery (zoom, lightbox, thumbnails), tabs, reviews and upsells; variable products get a styled attribute picker.
  • Added the “Outfit of the day” editorial front page, built from real products with bundled local imagery.
  • Restored the front-end style switcher, branded preloader, scroll-progress bar and back-to-top button, rewritten without any animation library. The style switcher is off by default.
  • Restored the header mega menu with a local featured image.
  • Added the Typography font-pairing control, using system-safe fonts.
  • Added automatic SVG icons for social menu links, inline SVG header icons, and a search form matching the header overlay.
  • Fixed the preloader stacking below the sticky header, and the dark demo losing contrast under a light colour pack.

1.3.3

  • Version synced across the theme header, functions, readme and release package.
  • Direct-access guards added to include and template files; the theme screenshot re-saved as a valid PNG; front-end layout-direction handling hardened.

1.3.0

  • Language-aware layout-direction control and per-locale body classes.
  • Better WooCommerce cart fragments and mini-cart handling.
  • Template-specific asset loading with file-based cache busting.

1.2.0

  • Added the RIVISTA Complete Demo one-click import, with portable local demo media, page layouts, products, posts, forms and menus.
  • Duplicate WooCommerce pages prevented and imported form references repaired.
  • Product cards switched to real WooCommerce data only.

1.1.0

  • WordPress core feature support and marketplace-compliance fixes.
  • Elementor widgets moved into the companion plugin.
  • Accessibility, translation readiness and demo-data handling improved.

1.0.0

  • Initial release.
19

Support.

Support for RIVISTA is provided through the support channel of the marketplace item you purchased it from. Open a ticket there and it reaches us.

Before you write, two minutes of preparation usually saves a whole round trip:

  • Read the section of this manual that covers the area — the import, Customizer and FAQ sections answer most questions.
  • Check Tools → Site Health → Info and note your WordPress, PHP and WooCommerce versions, plus the theme version (1.4.0 for this manual).
  • Deactivate other plugins one at a time to find out whether the problem is a conflict; say what you found.

What to include in a ticket

  • The page URL where the problem appears, and a screenshot or short screen recording.
  • WordPress, PHP, WooCommerce and theme versions; whether a child theme is active.
  • The exact steps that reproduce it, and what you expected instead.
  • Any error text, including anything in the browser console or your host’s PHP error log.
Outside item support

Theme support covers the theme itself: bugs, its settings, and how its features are meant to be used. It does not cover custom development, third-party plugins, server configuration or WordPress basics — though we will happily point you at the right place for those.