NivoSync
Sign inBuy now

Diamond catalogue page

How to place the diamond catalogue on a WordPress page — shortcode, Elementor widget, parameters, and pretty-URL setup.

8 min readUpdated 2026-05-16

NivoSync renders the diamond catalogue via a shortcode or an Elementor widget. You drop one of them into a regular WordPress page (or any post type that runs shortcodes) and the plugin handles the rest — filters, pagination, individual diamond detail, the lot. This page covers the three setup paths.

The simplest path. Works on any page or post regardless of which editor or builder you use.

  1. In WP admin, Pages → Add New Page.

  2. Title the page something like "Diamonds" or "Engagement collection" — this becomes the page slug, which becomes the catalogue URL (/diamonds).

  3. In the editor (Gutenberg or Classic), paste:

    [nivosync_diamonds]
  4. Publish the page.

  5. Visit the live URL. The catalogue should render with your configured theme.

That single tag inherits every default from NivoSync → Settings. For most stores, this is all you need.

Shortcode parameters

The shortcode accepts overrides if you want a section of the site to behave differently from the global settings:

ParameterAllowed valuesDefaultEffect
themedefault, modern, elegantglobal settingOverride the theme for this page only.
per_pageinteger 1–96global settingCards per page.
shapescomma list (e.g. round,oval,princess)allRestrict catalogue to these shapes.
labslab, natural, bothbothRestrict by origin.
min_carat, max_caratdecimalnonePre-applied carat filter.
min_price, max_priceinteger (in site currency, no symbols)nonePre-applied price filter.
sortprice_asc, price_desc, carat, popularityglobal settingDefault sort.
hide_filterstrue, falsefalseHide the filter sidebar (e.g. for a curated landing page).

Examples:

[nivosync_diamonds theme="elegant" labs="lab" min_carat="1.0" per_page="12"]

Renders an Elegant catalogue of lab-grown diamonds 1ct and up, 12 per page.

[nivosync_diamonds shapes="round,oval" hide_filters="true" per_page="6"]

Renders a 6-card "featured rounds and ovals" panel for a homepage section.

Method 2: Elementor widget

If you build pages with Elementor, drag the NivoSync Diamond Catalogue widget instead of using the shortcode. The widget exposes the same parameters as the shortcode but via Elementor's panel UI, which is easier for non-technical editors.

  1. Edit a page in Elementor.
  2. In the widget panel search box, type "nivosync".
  3. Drag Diamond Catalogue into a column.
  4. Configure the right-hand panel:
    • Content tab: theme override, per-page, default sort, shapes/labs/carat/price pre-filters.
    • Style tab: spacing, container width, custom CSS class.
    • Advanced tab: motion effects, responsive visibility.

The widget renders the same markup as the shortcode, so theme customisations apply consistently.

The widget mirrors every shortcode parameter as an Elementor panel control.

Other editors and page builders

The shortcode is builder-agnostic — any editor that can output a shortcode can host the catalogue. Quick reference:

Editor / builderHow to place the catalogueNotes
Gutenberg (block editor)Add a Shortcode block and paste [nivosync_diamonds]Recommended path for block themes. Full-width group blocks work well as the wrapper.
Classic editorPaste the shortcode straight into the content areaNo special handling needed.
Divi BuilderAdd a Code or Text module with the shortcodeDivi's aggressive styling may need a minor CSS tweak on filter inputs — see the compatibility matrix.
Bricks BuilderAdd a Shortcode elementWorks; a native Bricks element is on the roadmap.
Beaver BuilderAdd an HTML or Text Editor module with the shortcodeWorks without caveats in our testing.
WPBakery (legacy)Not actively testedWe recommend migrating to a modern builder before installing NivoSync.

Whichever builder you use, the catalogue inherits its width from the parent container. Give it a full-width or wide container — the filter sidebar plus a 3–4 column grid needs roughly 1,100 px to breathe on desktop.

Method 3: Direct PHP (for theme developers)

If you are customising a child theme and want to embed the catalogue directly in a template file:

<?php
// In your theme template (e.g. page-diamonds.php)
echo do_shortcode( '[nivosync_diamonds theme="elegant" per_page="24"]' );

Or, for finer control, use the renderer function directly:

<?php
if ( function_exists( 'ns_render_diamond_catalog' ) ) {
    ns_render_diamond_catalog( [
        'theme'    => 'elegant',
        'per_page' => 24,
        'shapes'   => [ 'round', 'oval' ],
    ] );
}

ns_render_diamond_catalog() echoes the markup; capture with output buffering if you need to manipulate it.

NivoSync registers two URL patterns when you place the catalogue:

  • /diamonds/ — the catalogue page itself (whatever you named the page).
  • /diamonds/{nivoda_id}/ — the individual diamond detail page. Auto-handled by a rewrite rule; you do not create a separate page for individual diamonds.

The URL prefix is taken from the parent page slug. If you name the page "Engagement", individual diamonds will live at /engagement/{id}/. You can override this in NivoSync → Settings → URLs → Diamond detail prefix if you want decoupled URLs (e.g. catalogue at /collection/ but details at /diamond/{id}/).

Page-level SEO

The catalogue page emits structured data automatically:

  • WebPage schema with the catalogue title.
  • ItemList schema with the first 24 visible diamonds.
  • Individual /diamonds/{id} pages emit Product schema with Offer, price, availability, and a Diamond-extension JSON-LD block (carat, cut, color, clarity, lab).

You do not need Yoast SEO or RankMath to get rich results — but if you use them, NivoSync defers the canonical/meta tags to whichever SEO plugin is active to avoid duplicate tag output.

Common issues

SymptomLikely causeFix
Page shows the shortcode text literally ([nivosync_diamonds]) instead of renderingThe page is being rendered by a builder that strips shortcodes (rare), or NivoSync is not active.Verify NivoSync shows as Active under Plugins → Installed Plugins.
Catalogue loads but is empty ("No diamonds match your filters")Local cache is empty (no sync run yet) or all diamonds were filtered out by the global pre-filters.Run a sync (wp nivosync sync or NivoSync → Sync → Run now).
404 on individual diamond pagesPermalinks not flushed after install.Settings → Permalinks → click Save once.
Catalogue renders without stylesThe theme's CSS file is being blocked or a cache plugin is serving a stale page.Clear all caches (page cache, object cache, CDN), then hard-refresh.
AJAX filters trigger 500 errorsFrequently a plugin conflict (security plugins blocking admin-ajax.php for non-logged-in users).Check the sync/error log under NivoSync → Sync for the failing endpoint, then whitelist it in your security plugin.

For anything else, see Troubleshooting → Sync fails or stalls or email support@nivosync.com.

What to do next

You now have a live catalogue. Most stores customise the Elegant theme next, then move on to the Bookings addon overview.