Skip to main content

WooCommerce Products — converter mapping

Source wc_productswc_products. This page shows the recognizer rule and every option on the shortcode, with how the converter fills it — so you can see at a glance which options are mapped, which are reproduced via CSS, and which are left for manual editing.

Recognizer

Priority68
Recognizerwc_products
Matches whenA product grid on a WooCommerce-style page — repeating product cards (image, title, price, add-to-cart).
Becomeswc_products
Recognizer block shape{ cols, count, has_ribbon }
FallbackDegrades to code_block.

A placeholder product grid, set to show recent products in the source’s column count, with a matched card slot layout (badges/wishlist row, media+title+excerpt, rating row). You point Source at the real products/category; the source can’t carry per-product data.

Option coverage

4/15 options mapped natively (27%) — 🟡 0 via CSS · ⚠️ 2 gaps (derivable, not yet) · ⚪ 9 default · ⚙️ 3 auto.

2 derivable gaps

The ⚠️ rows below are options a source realistically expresses that the converter doesn't derive yet — the real to-do list for improving this element's fidelity. The ⚪ default rows are intentional (no reliable signal, or a UnysonPlus-specific choice).

OptionTabTypeStatusMapped from / note
sourceContentselect✅ NativeSet to recent — you point it at your products / category
columnsLayoutselect✅ NativeColumn count from the source grid
posts_per_pageContentnumber✅ NativeHow many products to show
slotsDesigngroup✅ NativeMatched card slot layout (badges, media+title+excerpt, rating)
categoryContentmulti-select⚪ UnmappedYou choose the category
tagsContentmulti-select⚪ UnmappedDefault
orderContentselect⚪ UnmappedDefault
orderbyContentselect⚪ UnmappedDefault
gapLayoutunit-input⚠️ GapComputed grid/flex gap (column-gap) between product-card items
paginationBehaviorselect⚠️ GapPresence and kind of pager markup (.page-numbers/next links) below the product grid
carouselLayoutswitch⚪ UnmappedDefault
spacingStylingspacing⚪ UnmappedDefault
animationAnimationsgroup⚪ UnmappedDefault off
css_classAdvancedtext⚪ UnmappedDefault empty
css_idAdvancedtext⚪ UnmappedDefault empty
unique_idAdvancedhidden⚙️ AutoGenerated
responsive_hideAdvancedgroup⚙️ AutoNot set
custom_attrsAdvancedgroup⚙️ AutoNot set

Status legend

  • Native — Set as the native option from the source.
  • 🟡 Via CSS — Reproduced via scoped CSS / the styler; the native option is left empty (candidate to promote to a native mapping).
  • ⚠️ Gap — A source signal exists, but the converter does not derive this yet — a mapping worth adding (a real TODO, not a limitation).
  • Unmapped — Left at default — no reliable source signal, or an intentional/UnysonPlus-specific choice with nothing to translate.
  • ⚙️ Auto — Plumbing (unique id, custom attrs). Excluded from the coverage percentage.

← Back to Element Mapping