PremiumNewFeaturedProduct Sections

Wishlist

Save-for-later list with heart-toggle widget. Replaces Wishlist Plus.

#wishlist#save-for-later#personalization#wishlist-plus-replacement

Live preview

See it in action.

Fully interactive, drag, click, scroll inside the frame, toggle to mobile.

About this section

A complete two-part wishlist: the display section that drops onto /pages/wishlist, and a heart-toggle button you sprinkle into product cards and PDPs (one HTML snippet, no extra JS to load). All state in localStorage, works for guests, no account required, no GDPR/cookie overhead. Cart-AJAX add-to-cart on every saved card.

Install in 90 seconds

  1. 01

    Create /sections/modblo-wishlist.liquid.

  2. 02

    Paste the section code and save.

  3. 03

    Add the section to a /pages/wishlist page via the theme editor (Add section, Wishlist).

  4. 04

    Add a heart-toggle button to each product card. In your product-card.liquid (or wherever cards render), drop this snippet inside the card: <button type="button" class="modblo-wl-heart" data-modblo-wl-toggle data-handle="{{ product.handle }}" data-title="{{ product.title | escape }}" data-vendor="{{ product.vendor | escape }}" data-image="{{ product.featured_image | image_url: width: 320 }}" data-url="{{ product.url }}" data-price="{{ product.price }}" data-compare="{{ product.compare_at_price }}" data-variant-id="{{ product.selected_or_first_available_variant.id }}" aria-label="Save to wishlist" aria-pressed="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg></button>

  5. 05

    (Optional) Add a heart on the PDP next to the Add-to-cart button using the same snippet.

The code

This is the file you'll paste into your theme.

Unlock the section code

Wishlist is a premium section. Get the full Liquid + scoped CSS paste-ready.

One-time purchase ยท Lifetime updates ยท You own the code

What you can customize

Every setting below shows up in the Shopify theme editor. Change them without touching code.

SettingTypeDefault

Eyebrow

eyebrow

TextSaved for later

Heading

heading

TextYour wishlist

Empty title

empty_title

TextNothing saved yet

Empty subtext

empty_sub

Long text,

Empty CTA label

shop_label

TextStart browsing

Empty CTA link

shop_url

Link,

Background

bg

Color picker#ffffff

Foreground

fg

Color picker#0b0b0c

Accent

accent

Color picker#6366f1

Heart color (when saved)

heart_color

Color picker#ef4444

SEO and accessibility notes

  • All wishlist state in localStorage, no account creation, no third-party SDK, no GDPR overhead.
  • Heart-toggle uses a single document-level click delegate, works for cards added later via JS (e.g. infinite scroll).
  • Real <a> elements per saved card, screen-reader and keyboard accessible.
  • Cart-add fires the standard cart:updated event so other sections (cart drawer, mini-cart) refresh automatically.