demo.rivistatheme.com.

Documentation

Home/Documentation

RIVISTA· v1.4.0
Latest



⌘K

— Documentation · v1.4

From zip to a working store.

Everything you need to install the RIVISTA WordPress theme, import the demo content and make it your own — the twenty homepage demos, the Customizer options, the WooCommerce setup and the hooks a developer will reach for.

20
Homepage demos
66
Demo pages
22
Colour packs
1 click
Demo import

01

Welcome.

Thank you for choosing RIVISTA — an editorial WordPress and WooCommerce theme for fashion brands, slow-fashion houses, concept stores and boutique retailers. It is a classic PHP theme: no page builder is required, no build step is involved, and every template is a plain file you can copy into a child theme.

What’s included

— 20 Demos

Homepage demos

Twenty complete homepage layouts, from Editorial — Quiet to Typo — Type. Each one is an ordinary page: choose yours under Settings → Reading.

— 66 Pages

Demo pages

The one-click import builds 72 pages: 66 full RIVISTA layouts plus the six live ones — home, shop, cart, checkout, my account and the magazine index.

— 22 Packs

Colour packs

Twenty-two colour packages in the Customizer, eight of them dark. Pick one for everybody, or switch on the style panel and let visitors try them.

— Style guide

Elements page

Every component, colour, type style and icon is collected on the Style Guide page — a developer’s best friend.

How to use this guide

Sections run from quickest to most advanced. If you are starting fresh, follow them in order. If you are hunting for one feature, use the search field at the top of this page (press ⌘K or Ctrl K to jump into it) or the sidebar. Every code block has a copy button.

Before you launch

This page is part of the demo content. When your store is ready, delete it along with the other showcase pages — Presentation, Demos, All Pages, Map and Promo. A companion quick-start manual ships as documentation/index.html inside your theme folder; this page is the fuller reference, so quote its section numbers in support messages.

02

Requirements.

RIVISTA is a standard WordPress theme, so any host that runs WordPress runs RIVISTA. The table below lists what the theme declares and what it was tested against.

What Minimum Notes
WordPress 6.0 Tested up to 7.1
PHP 7.4 Tested on PHP 8.2
Database MySQL / MariaDB Whatever your WordPress install already uses
WooCommerce required for the shop Tested on 10.9 — shop, product, cart, checkout and account pages need it
Contact Form 7 recommended The demo imports a contact form
One Click Demo Import recommended Runs the RIVISTA Complete Demo import
Elementor + RIVISTA Core optional Elementor only for the three RIVISTA widgets; RIVISTA Core also implements the four section shortcodes several demo pages use

Two host settings that matter

  • Pretty permalinks — the header menu, the 404 page and the commerce scripts link to real paths such as /shop/ and /lookbook/. Set Settings → Permalinks to anything other than Plain.
  • A writable uploads folder — the demo importer writes a prepared copy of the demo file into wp-content/uploads/ and pulls the demo photography from your own theme URL.

Dependencies

None. RIVISTA loads no third-party JavaScript libraries and no remote assets — no CDN, no font service, no analytics. Every interaction is vanilla JavaScript, and the three typefaces ship with the theme as self-hosted WOFF2 files in assets/fonts/ (see Typography).

03

Installation.

Your marketplace download contains rivista-theme.zip — the installable theme. Inside it you will also find readme.txt, LICENSE, THIRD-PARTY-CREDITS.md, the translation template languages/rivista.pot, the demo content and a companion quick-start manual as documentation/index.html.

  1. Download your purchaseSign in to your marketplace account, open your downloads and grab the full package for RIVISTA.
  2. Upload the themeIn WordPress go to Appearance → Themes → Add New → Upload Theme, choose rivista-theme.zip and click Install Now.
  3. ActivateClick Activate. A notice appears offering the recommended plugins.
  4. Install the recommended pluginsOpen Appearance → Install Plugins. WooCommerce, Contact Form 7, One Click Demo Import and Elementor come from wordpress.org; RIVISTA Core is bundled with the theme. Nothing is forced — install what you need.
  5. Import the demoActivate WooCommerce and Contact Form 7 first, then go to Appearance → Import Demo Data and run RIVISTA Complete Demo. Section 04 covers this in detail.
  6. Save your permalinksVisit Settings → Permalinks and press Save Changes so every demo URL resolves.

Upload limit too small?

If your host rejects the zip, unpack it on your computer and upload the rivista folder to wp-content/themes/ over SFTP, then activate it from Appearance → Themes. Do not upload the whole marketplace package — WordPress only wants the theme folder.

Install from the command line

terminal · wp-cli
# Install and activate the theme
wp theme install rivista-theme.zip --activate

# The plugins the demo expects
wp plugin install woocommerce contact-form-7 one-click-demo-import --activate

# Refresh the rewrite rules
wp rewrite flush

# Then run Appearance -> Import Demo Data in the dashboard

04

Demo import.

RIVISTA ships one import — RIVISTA Complete Demo — and it brings in everything at once: pages, journal posts, products, media, menus and the contact form. Choosing a different look afterwards is not a second import; it is picking which page is your front page.

  1. Start from a fresh installBack up first. The import deletes WordPress’s untouched “Sample Page” and “Hello world!”, moves the five default widgets into Inactive Widgets, and writes your homepage, blog page and WooCommerce page settings.
  2. Activate WooCommerce and Contact Form 7The demo file contains products, product categories and a contact form. Without those plugins WordPress silently skips them.
  3. Run the importAppearance → Import Demo Data → RIVISTA Complete Demo → Import. It runs in batches and takes a few minutes: 72 pages, 6 journal posts, 10 products, 16 photographs, 7 menus.
  4. Choose your homepageSettings → Reading → A static page. Pick Home for the built-in “Outfit of the day” homepage, which is assembled from your real products, or any of the twenty demo pages in the table below. Leave Magazine as the posts page.
  5. Save your permalinksSettings → Permalinks → Save Changes.
  6. Make it yoursSet your logo and site title in Customizer → Site Identity, pick a colour pack, then replace the demo photography and copy.

The twenty homepage demos

Every demo is a page using the RIVISTA Demo Full Width template. Set one as your front page, or open it to borrow a section.

Demo Page
01 Editorial — Quiet /index-home/
02 Bold — Fashion /index-bold/
03 Dark — Luxury /index-dark/
04 Beauty — Pastel /index-beauty/
05 Boutique — Living /index-boutique/
06 Showcase — Slider /index-showcase/
07 Gallery — Slider /index-gallery/
08 Atelier — Slider /index-atelier/
09 Kinetic — Motion /index-kinetic/
10 Mosaic — Grid /index-mosaic/
11 Collage — Editorial /index-collage/
12 Curtain — Reveal /index-curtain/
13 Diagonal — Dynamic /index-diagonal/
14 Journal — Magazine /index-journal/
15 Reveal — Scroll /index-reveal/
16 Runway — Fashion /index-runway/
17 Spotlight — Focus /index-spotlight/
18 Stack — Layered /index-stack/
19 Tilt — 3D /index-tilt/
20 Typo — Type /index-typo/

Your store goes public

The import switches WooCommerce’s “Coming soon” visibility off, so the shop is visible the moment it finishes. Finish payments, tax and shipping (section 13) before you point a domain at it.

If the import stalls

Raise memory_limit and max_execution_time on the host and run it again — the importer skips what it already created, and the menus are rebuilt from scratch every time. The uploads folder must be writable, and your site must be able to fetch its own URLs, because the demo photographs are pulled from the theme folder.

05

Customizer.

Everything RIVISTA adds to WordPress sits in one panel: Appearance → Customize → RIVISTA Settings. Four sections, seven settings — no options framework, no database of its own.

— 22 packs

Colour packs

Paper, accent and ink in one click, previewed live. Six packs give the footer a dark treatment; Midnight and Forest are dark throughout.

— Optional

Style switcher

A tick-box adds a floating panel so visitors can try the colour packs, four typefaces and light or dark on their own device. Off by default — leave it off on a live store.

— 5 pairings

Typography

Contemporary (the bundled faces), Editorial Serif, Modern Grotesque, Classic Serif and System UI. The alternatives use system-safe stacks, so nothing is downloaded.

— 4 layouts

Header & footer

Header style, site layout direction and the announcement ticker; plus the footer newsletter shortcode.

Every setting at a glance

Setting Section Default
Theme colour pack Color Packs Paper
Show the style switcher to visitors Color Packs off
Font pairing Typography Contemporary
Header style Header Settings Standard
Site layout direction Header Settings Automatic
Announcement text Header Settings empty
Newsletter form shortcode Footer Settings empty

Header style offers Standard (logo left, menu right), Centered (logo centred, menu below), Minimal Overlay (transparent, for pages that open on a dark image) and Block (boxed and solid). Everything else you need — logo, background, menus, widgets, homepage and Additional CSS — lives in the WordPress sections of the same Customizer.

Who sees what

With the style switcher off — the default — every visitor sees the colour pack and typeface you chose. With it on, each visitor’s own choice is remembered in their browser’s localStorage, and yours remains the starting point.

08

Typography.

RIVISTA uses three typefaces: Space Grotesk (display and interface), Instrument Serif (italic accents) and Inter (body copy). All three ship with the theme as self-hosted WOFF2 files in assets/fonts/, declared in assets/css/fonts.css — no request ever leaves your server.

Pick a pairing

Customizer → RIVISTA Settings → Typography offers five pairings: Contemporary (the bundled faces), Editorial Serif, Modern Grotesque, Classic Serif and System UI. The four alternatives are built from system-safe stacks, so switching never adds a download.

Use your own typeface

Put the .woff2 files in your child theme, declare them, and repoint the three variables. Because the variables cascade, one block changes the whole site.

rivista-child/custom.css
@font-face {
  font-family: "MyFont";
  src: url("fonts/myfont.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --display: "MyFont", "Space Grotesk", sans-serif;
  --serif:   "Instrument Serif", Georgia, serif;
  --sans:    "Inter", -apple-system, sans-serif;
}

Keep it local

Self-host anything you add. RIVISTA ships with no remote assets at all — keeping it that way is faster for visitors and simpler for your privacy policy.

09

Colours.

Every colour in RIVISTA is a CSS custom property on :root, and the twenty-two colour packs are nothing more than small blocks that rewrite those properties. Choose a pack in Customizer → RIVISTA Settings → Color Packs, or override the variables yourself. See the Style Guide for the complete palette.

rivista-child/custom.css
:root {
  /* Brand */
  --ink:    #14130f;   /* primary text */
  --paper:  #ffffff;   /* page background */
  --terra:  #c4452a;   /* brand colour */
  --accent: #c4452a;   /* accent used for text: links, prices, dots */

  /* Editorial accents */
  --sky:    #cfe6f0;
  --butter: #f5ecc0;
  --rose:   #f0d8d2;
}

Each pack sets --paper, --paper-2, --ink, --ink-2, --ink-3, --line and --terra on :root[data-palette="…"], so an override of your own needs to be at least as specific — or simply pick the pack that is closest and adjust from there.

Try before you commit

Switch on “Show the style switcher to visitors” while you are building. The floating panel lets you flick through all twenty-two packs on the front end, then turn it off again before launch.

10

Shop setup.

The shop is real WooCommerce. RIVISTA overrides three templates — the product archive, the product card and the single product page — and leaves every WooCommerce hook firing, so your plugins keep working.

  1. Run the WooCommerce wizardAfter activating WooCommerce, finish its setup: store address, currency, and the pages it needs. The demo import points Shop, Cart, Checkout and My account at the RIVISTA pages for you.
  2. Add your productsProducts → Add New. A photo, a price and a category are enough; the card template uses the product image at a 4:5 crop, so upload portrait photography where you can.
  3. Organise the categoriesThe shop archive prints a row of category tabs with live counts, so keep the list short and meaningful.
  4. Delete the demo productsThe ten demo products exist to show the layout. Remove them once your own catalogue is in.

What the archive gives you

  • An editorial header with the result count set as a serif superscript, plus the archive description.
  • A category tab row with per-category counts, the WooCommerce result count and the standard sort menu.
  • An optional full-width “story” tile after the fourth product on the first page of the main shop — it appears when a Lookbook page is published and there are at least eight products, and it can be changed or removed with the rivista_shop_story filter.
  • Hairline pagination, or an end-of-collection line that links to your Collections page.

On every product card

Badges for Sold out, Sale and “Only N left” (when you manage stock and fewer than six remain), a hover stack with wishlist, compare and quick view, the title and price, the category and the star rating. The add-to-bag button is WooCommerce’s own link, so AJAX add-to-cart and cart fragments behave normally.

Wishlist, compare and quick view

All three are built into the theme — no plugin, no account. Choices are kept in the visitor’s browser; the pages themselves are rendered from your real products over AJAX. Compare holds up to four items and shows price, rating, availability, category, SKU and any product attributes, with the differences highlighted.

11

Product page.

The single product template is editorial: gallery on the left, a sticky buy column on the right, details in an accordion, then tabs, upsells and a “Pair with” row. It uses WooCommerce’s own gallery, so zoom, the lightbox and thumbnail sliding all work.

Details that come from your product data

  • Title — a title written as Name — Variant (with spaced em dash) prints the part after the dash in serif italic.
  • Price — the discount label (“−16%”, or “Up to −30%” for variable products) is calculated from the regular and sale prices.
  • Rating — the star row, or an invitation to write the first review.
  • Attributes — variable products get a styled attribute picker; the quantity field gains a minus/plus stepper that respects the product’s min, max and step.
  • Store guarantees — the <details> accordion under the buy box. Edit it with the rivista_trust_badges filter (section 18); its policy link points at your Shipping & Returns page when one is published.

Sticky add to bag

Once the buy box scrolls away, a slim bar appears with the product, the price and a button that clicks the real add-to-cart control. Nothing to configure.

Product Editorial is a layout, not a product

The demo page Product Editorial is a magazine-style mock-up you can copy sections from. Your real product pages are rendered by woocommerce/single-product.php.

12

Cart & checkout.

The demo Cart and Checkout pages use WooCommerce’s own Cart and Checkout blocks, restyled by assets/css/woocommerce-cart-checkout.css. They are the real thing: taxes, coupons, shipping rates and payment methods all come from WooCommerce. If you prefer the classic shortcode cart, that works too and picks up the shared styling.

Mini-cart drawer

The bag icon in the header opens a drawer built from WooCommerce’s mini-cart, refreshed through cart fragments. RIVISTA adds a free-shipping progress meter, a quantity stepper on each line, a subtotal row and the note that shipping and taxes are calculated at checkout.

The free-shipping meter

The meter reads the smallest minimum order amount among your enabled WooCommerce Free shipping methods, so it already follows your real shipping settings. Set none up and the meter never appears. Use the filter to override that figure, or to switch the meter off entirely by returning zero.

rivista-child/functions.php
// Set the mini-cart free-shipping goal (in your store currency).
add_filter( 'rivista_free_shipping_threshold', function ( $amount ) {
    return 120;
} );

// Return 0 to remove the meter altogether.
add_filter( 'rivista_free_shipping_threshold', '__return_zero' );

13

Payments, tax & shipping.

These are WooCommerce settings, not theme settings — which is the point: RIVISTA never stands between your store and its gateways. Work through WooCommerce → Settings before you take a single order.

  • General — selling locations, store currency and the currency position. Every price on the site is printed by WooCommerce, so this is the only place currency is set.
  • Products — the shop page, measurement units, reviews and stock handling.
  • Tax — rates and how they are displayed. Enable tax first under General.
  • Shipping — zones, methods and rates. Add a Free shipping method with a minimum order amount if you want one, and match the mini-cart meter to it (section 12).
  • Payments — enable the gateways you need. Any WooCommerce-compatible gateway works; the checkout block renders each one.
  • Emails — order confirmations and the sender address. Send yourself a test order before launch.

Demo copy mentions demo policies

The imported pages are written for an imaginary Lisbon studio. Read through Shipping & Returns, FAQ, Privacy and Terms and replace them with your own terms — nothing there is generated from your WooCommerce settings.

14

Magazine.

The magazine is the WordPress blog. The imported Magazine page is set as your posts page under Settings → Reading, and it is rendered by home.php: a masthead, a featured story and the editorial grid. Articles are ordinary posts rendered by single.php.

Publish a story

  1. Write itPosts → Add New. Set a featured image — it is the cover on the index and the top of the article.
  2. File itThe demo ships four categories: Journal, Materials, Cities and Studio Notes. Use your own instead.
  3. Feature it (optional)The masthead highlights one post: the theme looks for the post meta _is_featured set to yes, and falls back to your newest post. Most sites can simply leave it alone.

The six imported journal posts — On Object Permanence, The Mills of Normandy, A Week in Porto, Why We Mend, Linen Explained and Slow Thursdays — are demo writing. Keep one as a formatting reference while you write your first piece, then delete them.

15

Lookbook.

Two lookbook pages are imported: Lookbook, a scrolling series of looks, and Lookbook Interactive, where each photograph carries shoppable hotspots. Both are ordinary pages using the RIVISTA Demo Full Width template, so you edit them in the WordPress editor.

Edit a look

  1. Open the pagePages → Lookbook → Edit. The layout is one HTML block; each look is a clearly commented section.
  2. Swap the photographyUpload yours to the Media Library and replace the image URLs. Portrait crops sit best.
  3. Link the piecesPoint each “shop the look” link at the matching product permalink, for example /product/your-product-slug/.

Let WooCommerce print the products

Instead of hand-writing product cards, drop the shortcode [rivista_products limit="4"] into the page (registered by the bundled RIVISTA Core plugin). It renders real products — image, name, live price, add to bag — in the same editorial card as the shop.

16

Inner pages.

Beyond the homepages and the shop, the import creates a full set of supporting pages. Each is an ordinary WordPress page — edit the ones you want, move the rest to the trash.

— Commerce

Around the shop

Collections, Category, Shop List, Product Editorial, Shop The Look, Gift Cards, Fit Finder, Wishlist, Compare and a Confirmation mock-up.

— Account

Account layouts

Account, Orders, Order detail, Addresses, Settings and Sign in — design references. The working one is WooCommerce’s My account.

— Editorial

Story pages

Lookbook, Lookbook Interactive, Style Quiz, Archive, Events, Drops, Members and Makers.

— Company

Brand & help

Studio, Our Materials, Stores, Careers, Press, FAQ, Shipping & Returns, Size Guide, Contact, Track Order, Privacy and Terms.

A handful more are utility layouts: Search (a results mock-up — real searching is handled by the theme’s own search template), Coming Soon, Sliders (twelve slider patterns) and the Style Guide.

Layouts, not features

Pages such as Gift Cards, Track Order, Sign in, Drops and the account screens are designed layouts with demo data. They do not create gift cards, track real shipments or log anybody in — connect a plugin, or point people at WooCommerce’s own My account and order pages.

Add a page in the RIVISTA style

Create the page, choose the RIVISTA Demo Full Width template, and build with blocks or with the shortcodes in section 18. Per-page demo stylesheets are attached to the imported pages only, so a new page inherits the shared editorial styling rather than a specific demo’s.

17

Child theme.

Edit RIVISTA through a child theme and your work survives every update. No child theme is bundled — here is the whole recipe, two files.

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 style.css, plus its RTL mirror.
    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' );

    // Your own rules, loaded after the last theme stylesheet.
    wp_enqueue_style(
        'rivista-child-custom',
        get_stylesheet_directory_uri() . '/custom.css',
        array( 'rivista-custom-cards' ),
        '1.0.0'
    );
}, 20 );
  • Put your CSS in custom.css, not in the child’s style.css — WordPress loads that one early, so overrides there lose to main.css at equal specificity.
  • Copy any template into the child to change it, including the woocommerce/ overrides and the parts under template-parts/.
  • rivista_setup() and the four template tags in inc/template-tags.php are wrapped in function_exists, so a child theme can redefine them.

Import the demo first

If you run the demo import while a child theme is active, page templates that do not exist in the child folder are reset to the default. Import with RIVISTA active, then switch to your child theme.

18

Hooks & filters.

RIVISTA exposes its editorial decisions as WordPress filters. Add these to your child theme’s functions.php. The eleven below are every rivista_-prefixed hook in the theme — everything else the shop does runs on WooCommerce’s own actions and filters, which RIVISTA leaves firing.

Filter What it controls Where it fires
rivista_home_chips The homepage chip strip. Each chip is array( 'label', 'url', 'style' ); style is one of sky, butter, ink, rose or outline, and url is optional — set it and the chip becomes a link. Defaults to the strip built from your own WooCommerce settings and published pages. front-page.php
rivista_home_season_label The kicker above the homepage hero; plain text, tags are stripped. Defaults to The Edit. front-page.php
rivista_home_editorial_text The editorial teaser paragraph on the homepage. Defaults to the studio paragraph. front-page.php
rivista_home_model_shots The four model photographs in the homepage hero, as file names inside demo-content/media. Defaults to four bundled photographs. front-page.php
rivista_mega_feature_heading The heading on the mega-menu feature card. Defaults to The new collection. template-parts/header/site-header.php
rivista_shop_story The editorial tile inside the shop grid; return an empty array to drop it. Defaults to the Lookbook tile, which appears only on the first page of the main shop, when a Lookbook page is published and the grid holds at least eight products. woocommerce/archive-product.php
rivista_trust_badges The store guarantees under the buy box. Each row is array( 'icon', 'title', 'sub', 'url' ); icon is one of shield, truck, refresh, heart, compare, eye or check. Defaults to three guarantees: shipping, returns and secure checkout. inc/commerce-features.php
rivista_shipping_returns_url The policy link inside those guarantees; an empty string prints them without a link. Defaults to your Shipping & Returns page, when one is published. woocommerce/single-product.php
rivista_free_shipping_threshold The mini-cart free-shipping meter, in your store currency; return 0 to hide it. Defaults to the smallest minimum order amount among your enabled WooCommerce free-shipping methods — and to 0, meaning no meter, when you have none. inc/commerce-features.php
rivista_hide_compare_bar Whether the sticky compare tray is suppressed. Defaults to true on cart, checkout, account and the order endpoints. inc/commerce-features.php
rivista_content_width The global $content_width WordPress uses for embeds and media. Defaults to 1200. inc/theme-setup.php
rivista-child/functions.php
// Rewrite the guarantees shown under the add-to-bag button.
add_filter( 'rivista_trust_badges', function ( $badges ) {
    return array(
        array(
            'icon'  => 'truck',
            'title' => __( 'Shipped from our studio', 'rivista-child' ),
            'sub'   => __( 'Rates are calculated at checkout', 'rivista-child' ),
            'url'   => home_url( '/shipping-returns/' ),
        ),
        array(
            'icon'  => 'refresh',
            'title' => __( '30-day returns', 'rivista-child' ),
            'sub'   => __( 'Unworn, with tags', 'rivista-child' ),
        ),
    );
}, 20 );

The homepage chip strip

The strip under the hero is computed, not written: a free-shipping chip appears only when WooCommerce actually has a free-shipping method (printed at its real minimum, in your currency), and the linked chips appear only when the pages they point at exist. Nothing on the homepage advertises a policy your store has not set up. Use rivista_home_chips to add, reorder or replace the whole strip.

rivista-child/functions.php
// Append one chip of your own, keeping the computed ones.
add_filter( 'rivista_home_chips', function ( $chips ) {
    $chips[] = array(
        'label' => __( 'Made in Portugal', 'rivista-child' ),
        'url'   => home_url( '/about/' ), // optional
        'style' => 'outline',             // sky | butter | ink | rose | outline
    );

    return $chips;
} );

// Retitle the kicker and the mega-menu feature card.
add_filter( 'rivista_home_season_label', function () {
    return __( 'New arrivals', 'rivista-child' );
} );

add_filter( 'rivista_mega_feature_heading', function () {
    return __( 'The linen edit.', 'rivista-child' );
} );

Content shortcodes

Four shortcodes render the shared editorial sections anywhere. Both the tags and the sections’ render code live in the bundled RIVISTA Core plugin (installed with this demo), so the content keeps rendering even after a theme switch — the plugin adds a small base stylesheet under other themes, while RIVISTA styles the sections in full. Keep it active on pages that use them, or the tags print as plain text. Each accepts tone="dark" for an inverted band.

Shortcode What it renders
[rivista_products limit="4"] A row of real WooCommerce products in the editorial card
[rivista_journal limit="3"] Your latest journal posts
[rivista_values items="Made slowly~in Portugal|…"] The values band
[rivista_newsletter action="…"] The signup band; point action at your provider’s form URL

Adding your own scripts

Analytics, chat widgets and pixels belong in a plugin or in your child theme — never pasted into a template. Enqueue or print them on the standard WordPress hooks, and remember that your privacy policy has to mention anything that phones home.

19

CSS variables.

Every visual decision in RIVISTA is driven by a custom property declared in assets/css/_shared.css. Override one in your child theme’s custom.css and it changes everywhere it is used.

Most-edited variables

Variable Default Purpose
--ink #14130f Primary text colour
--ink-2 #4a4842 Secondary text
--paper #ffffff Page background
--paper-2 #f7f5f0 Panels, cards and quiet bands
--line #e9e6dc Hairline rules and borders
--terra #c4452a Brand colour
--accent #c4452a Accent for text: links, prices, dots
--display "Space Grotesk" Display font
--serif "Instrument Serif" Italic accent font
--sans "Inter" Body font
--shell 1320px Maximum container width
--pad-x clamp(24px, 4vw, 56px) Horizontal page padding
--ease cubic-bezier(.2,.7,.2,1) Default easing
--dur 360ms Default transition duration

One rule, no rebuild

There is no build step to run. Stylesheets are plain CSS, cache-busted from each file’s modification time, so an edit is live on the next reload.

20

RTL & languages.

RIVISTA is fully right-to-left ready. Every front-end stylesheet with directional rules has a mirrored -rtl.css sibling, and WordPress serves it automatically when the site runs right to left — there is no HTML tag to edit.

Switch to RTL

  1. Set the site languageSettings → General → Site Language. Arabic, Hebrew, Persian and Urdu switch the front end to right-to-left on their own.
  2. Or force itCustomizer → RIVISTA Settings → Header Settings → Site layout direction — Automatic, Left to right, or Right to left. This controls the public site only, so your dashboard can stay in another language.
  3. Check after importingThe demo import sets the direction to Left to right, because the demo copy is English. Set it back to Automatic once your own content is in.

In right-to-left mode the layout, spacing and directional arrows mirror, while prices, SKUs and counters are deliberately kept left-to-right so numbers read correctly.

Translate the theme

Every user-facing string in the theme is translatable under the text domain rivista. The template languages/rivista.pot ships with the theme — open it in Poedit or a translation plugin and save your .po/.mo pair into wp-content/languages/themes/ so it survives updates. The demo content is English copy in the page editor; translate it there, or replace it with your own.

Arabic and Hebrew typefaces

The three bundled faces cover Latin only. Add a self-hosted Arabic or Hebrew WOFF2 in your child theme and point --sans and --display at it inside a [dir="rtl"] rule — self-hosted, so the theme keeps its no-remote-assets promise.

21

Changelog.

The complete history ships with the theme in readme.txt. The most recent release:

Version 1.4.0

  • Honest store copy by default. The homepage chip strip is now built from your own settings — a free-shipping chip only when WooCommerce really has a free-shipping method (at its real minimum, in your currency), plus chips linking to the shipping & returns, size guide, gift card and journal pages only when those pages exist. The whole strip is filterable through rivista_home_chips.
  • The trust badges, values marquee, newsletter band and product-page guarantees lost their hard-coded euro thresholds and policy promises, and the mini-cart free-shipping meter now reads the threshold from WooCommerce instead of assuming 80 — it stays hidden when no free-shipping method is set up.
  • The demo importer writes the announcement ticker in your store’s own currency at import time. Edit it in Customizer → RIVISTA Settings → Header Settings.
  • Homepage hero: each look’s bottom-bar tag is now unique (product category, else the short product name), and the frozen “Spring 2026 / FALL EDIT / Tuesday May 19” stamps are gone — dates print live and the kicker is filterable through rivista_home_season_label.
  • The Magazine index takes its lede from the blog page excerpt or the site tagline, and its byline from the page author, instead of a fictional editor and a weekly publishing promise.
  • The demo template scripts (gift card, style quiz, shop the look, order tracking) no longer hard-code a currency symbol.
  • 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 own cart-fragment refresh event where WooCommerce has already loaded it.
  • Mega menu: “Our materials” points at the Our Materials page, and the feature-card heading is seasonless and filterable through rivista_mega_feature_heading.
  • Rebuilt the bundled documentation, and corrected the photography and minimum-WordPress notes in readme.txt and THIRD-PARTY-CREDITS.md.
  • Full RTL: every front-end stylesheet with directional rules now ships a generated mirror, plus rtl.css; prices, SKUs and counters stay left-to-right.
  • WooCommerce templates 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.
  • New “Outfit of the day” editorial front page built from your real products and the 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 stacks.
  • Automatic SVG icons for social menu links, and inline-SVG header icons.
  • A custom 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.

Earlier releases

  • 1.3.3 — version synced across the package, ABSPATH guards on include and template files, hardened front-end layout direction.
  • 1.3.0 — language-aware layout direction and per-locale body classes; better cart fragments and mini-cart handling; template-specific asset loading with file-based cache busting.
  • 1.2.0 — the RIVISTA Complete Demo one-click import: portable local demo media, page layouts, products, posts, forms and menus.
  • 1.1.0 — WordPress core feature support and marketplace-compliance work; Elementor widgets moved into the companion plugin; accessibility and translation readiness improved.
  • 1.0.0 — initial release.

22

Get support.

Support is handled through the marketplace item page for RIVISTA — open a comment or a ticket there, and include your purchase code. The terms and duration of support are whatever the marketplace states on that page.

Before you reach out

  1. Update to the latest versionCheck your marketplace downloads — an issue is often already fixed in a newer release.
  2. Deactivate other pluginsSwitch them off one at a time. Conflicts with third-party plugins are the most common cause of odd behaviour.
  3. Open the browser consoleMost front-end problems announce themselves clearly there (F12 → Console). Include the message when you ask.
  4. Save your permalinksIf demo links return 404, Settings → Permalinks → Save Changes fixes it.
  5. Search this pagePress ⌘K or Ctrl K. Most questions are answered above.

What to include

  • Your WordPress, WooCommerce, PHP and RIVISTA versions.
  • The page or screen where it happens, and a screenshot.
  • Whether it also happens with all plugins deactivated.

23

Licence & credits.

The RIVISTA theme code is released under the GNU General Public License v2 or later, as WordPress themes must be — see the LICENSE file in the theme folder. The package as a whole is sold under the marketplace’s own licence terms, which are shown on the item page.

Bundled credits

  • Space Grotesk — Florian Karsten, SIL Open Font License 1.1
  • Instrument Serif — Instrument, SIL Open Font License 1.1
  • Inter — Rasmus Andersson, SIL Open Font License 1.1
  • TGM Plugin Activation — unmodified upstream, GPL-2.0-or-later
  • Demo photography — supplied under the Pexels License, credited photograph by photograph in THIRD-PARTY-CREDITS.md

Bring your own photography

The demo photographs are licensed for the demo, not resale, and they are not part of the GPL code. Replace them with your own product photography — or properly licensed stock — before you launch. Full credits are listed in THIRD-PARTY-CREDITS.md.

Still stuck.

Check the changelog first — then open a ticket on the marketplace item page, quoting your purchase code, your WordPress and WooCommerce versions and the page where it happens.