Skip to main content
Auto-placement covers most themes. Place elements by hand when your theme uses custom markup, or when you want an element somewhere the app does not look.
Keep both app embeds (Wishlist Engine and Wishlist icon) turned on in Online Store → Themes → Customize → App embeds. The snippets on this page are only placeholders. The embeds load the scripts that turn them into working elements.

Product page button

You have three options. When a placed button exists on a product page, the app skips its own auto-placement.
In the theme editor, open a product template, select the product information section, click Add block → Apps and choose Add to Wishlist Button.Every block setting is optional. If you leave one blank, the block uses the value from Wishlist Settings → Product page in the app.

Button attributes

string
required
Must be cbwishlistPopup. Required on hand-written buttons only.
string
required
Shopify product ID.
string
required
Shopify variant ID. When the shopper picks another variant, the app updates it automatically.
string
Shown in the “Add to wishlist” popup.
string
Image URL shown in the popup.
string
Product URL.

Per-button style overrides

Placeholder divs and the app block accept these optional attributes. Each one overrides the shop-wide setting for that button only.

Collection and product-card hearts

The app finds product cards on most themes by itself. If your cards are custom, add the class cbWishlist_selecter to the card element and the app treats it as a product card. To place the heart yourself, add this inside your product card snippet:
The app rescans product cards when the DOM changes, when filters change (shopify:facet:changed), and when a section reloads in the theme editor.

Wishlist page

Use the Shopy Wishlist Page app block (see Wishlist page setup) or add this shortcode to any page or template:
The shortcode needs the Wishlist Engine embed. It renders the full page: my wishlists, shared wishlists, the detail view, and every dialog.

Wishlist page URL parameters

The app needs your wishlist page URL to build share links and the drawer’s “Go to wishlist” link. It looks for, in order:
  1. the current page, if it contains the wishlist page;
  2. the first link on the page pointing to /pages/wishlist or ending in /wishlist;
  3. the wishlist page URL saved in the app settings;
  4. /pages/wishlist.

Wishlist menu (nav shortcode)

Lists the shopper’s wishlists as links, for example in an account dropdown or a mega menu.
When placed inside your own <ul> or <ol>, the shortcode renders plain <li> items so your menu styles apply.
Any element with data-toggle="createNewList" placed outside the wishlist page opens the “Create new list” dialog.
In single-wishlist mode, the menu shows one link.

Recently viewed products

Shows the products the shopper viewed recently, and lets them add several of them to a wishlist at once. Supported attributes: data-visible, data-limit, data-size, data-heading, data-view-more-label, data-add-selection-label, data-show-view-more, data-show-add-selection, plus class attributes (data-wrapper-class, data-item-class, …). Any element with data-toggle="addSelectionList" opens the multi-add dialog.

Cart page: move to wishlist

With Allow shoppers to move cart items to a wishlist turned on, the app adds a wishlist selector to each cart line. To choose where it appears, place this inside your cart line item loop:
For themes with unusual cart markup, two JavaScript filters let you tell the app where each line is and where the selector goes:
After an item is moved, the app dispatches cart:refresh and cart:updated so the theme can refresh its cart.

Orders placed from a wishlist

When a product goes to the cart from the wishlist, the app adds hidden line-item properties: _is_cbwishlist_product, _is_cbwishlist_direct, and _is_cbwishlist_email_product for visits from a reminder email. Shopify hides properties that start with _ at checkout. The app uses them to tag the order cbwishlist-order and to credit wishlist-driven revenue.