Skip to content

Widgets ​

The palette ships with 29 widgets, grouped by category. Widgets belonging to a disabled module never appear in the palette and render as nothing on the public site — so switching the shop off does not leave broken product grids behind.

The widget palette open in the builder, showing widgets grouped by category
Drag a widget onto the canvas, or select a column first and click to insert.

Basic ​

WidgetWhat it does
HeadingAn h1–h6 with its own type controls
TextA rich text block
ButtonA link styled as a button, with size and variant
IconA single icon at a chosen size and colour

Media ​

WidgetWhat it does
ImageOne image from the media library, with caption and link options
VideoAn embed from YouTube or Vimeo, or a self-hosted mp4/webm
GalleryA grid or carousel of images
MapAn embedded map at a given address or coordinate

Layout ​

WidgetWhat it does
SpacerVertical space, per breakpoint
DividerA horizontal rule with style controls

Reach for section and column padding before a spacer. A spacer is a real element in the page; padding is not.

Content ​

WidgetWhat it does
Icon boxIcon, heading and text — the standard feature block
Post gridRecent or filtered posts, in a grid or list
AccordionCollapsible rows, good for FAQs
TabsTabbed panels
TestimonialA quote with an attribution and optional photo
CounterA number that counts up when scrolled into view
Pricing tableA plan with a price, a feature list and a call to action
Contact formThe contact form, anywhere — needs the contact module
NewsletterA subscribe field — needs the newsletter module
HTMLRaw markup

The Post grid ​

Filter by category, tag or author, choose how many, and pick a layout. This is what you build a blog landing page out of without touching a template.

The HTML widget ​

The one place raw markup is accepted as-is. Everything you put here reaches the page unfiltered, so:

Anything you paste here runs

An HTML widget will happily run a <script> tag. Only paste markup you understand — a tracking snippet from your own analytics account is fine, a "free widget" from a forum is how sites get compromised. For analytics, prefer Settings → Appearance → Header scripts, which keeps it in one place.

Shop ​

WidgetWhat it does
Product gridProducts by category, tag, or hand-picked

Needs the shop module. Disabled, the widget disappears from the palette and renders as nothing.

Product page ​

These widgets build the product page template. Open it from Builder → Site pages → Product page, or with Open the builder on any product, which previews the template with that product. The widgets hold no product of their own: each one shows whichever product the visitor is viewing, so one design serves the whole shop. They only appear in the palette while you edit that template.

The first time you open it, the template starts as a copy of your theme's product page, built from these widgets. It stays a draft, and shoppers keep seeing the theme's page until you press Publish. To design one product's description instead, use the description builder link on the product's edit screen.

WidgetWhat it shows
BreadcrumbsHome / Shop / category / product
Product imagesThe featured image and gallery, with thumbnails on the left, below, or hidden
Product titleThe product name, with an optional category link
Star ratingAverage rating and review count, hidden until the first review if you prefer
PricePrice, crossed-out price and saving badge on sale items, and the tax note
Short descriptionThe product's short description
Add to cartOption picker, quantity, Add to cart and Buy now, all with editable labels
Stock statusIn stock, low stock (Only :count left), out of stock and digital wording
Trust badgesA row of icons with labels, such as Secure payments or Tracked delivery
DescriptionThe full description, collapsible or always shown
Product detailsSKU, categories, weight, dimensions and delivery, each row switchable
ReviewsApproved reviews, plus the form for writing one
Related productsOther products from the same categories

Keep the Add to cart widget

Without it nobody can buy. The editor shows a warning while the template is missing it.

Buy now adds the product to the cart and goes straight to checkout. It works without JavaScript.

While you design, the preview uses the product you opened the builder from. Opened from Site pages, it uses your newest published product.

Site parts ​

These read from the site rather than holding their own content, which is what makes them the building blocks of a header or footer designed in the builder:

WidgetRenders
Site logoYour logo from Settings → General, light or dark variant
Navigation menuAny menu, by location — see Menus
Cart iconCart link with a live item count — shop module
SearchA search box for the whole site, posts or products, with live results. See Site search
Social iconsLinks from Settings → Social
Page titleThe current page's title — for use in theme regions

Page title only makes sense inside a theme region, where one layout renders across many pages.

Every widget has three tabs ​

TabHolds
ContentWhat the widget shows
StyleColour, spacing, typography, borders — applied as CSS, instantly
AdvancedMargin, custom CSS class and id, visibility per breakpoint
The widget settings panel with its Content, Style and Advanced tabs

Hiding a widget on one breakpoint ​

Advanced → Visibility. Useful for a desktop-only decorative image, or a simplified mobile call to action. The element is not rendered at all at that breakpoint rather than hidden with CSS.

Adding your own ​

One PHP class and one Blade view. See Building a widget.

Radius is open source under the MIT licence. Security issues go to the address in SECURITY.md, not the public issue tracker.