Hide Wishlist from Guests

By default, R+ Wishlist is available to everyone — including guests who are not logged in. Guests can still save items locally in their browser.

If you want wishlist to be available only to logged-in customers, you can hide it from guests. How you do this depends on how wishlist is installed on your theme:

  • App blocks / App embeds — use the built-in Show to setting
  • Liquid snippets — wrap the snippet render in a customer check

Option 1 — Hide wishlist using App Blocks

Most Online Store 2.0 themes can use this method. No code changes are required.

Step 1 — Open the block settings

  1. Go to your Shopify admin → Online Store → Themes.
  2. Click Customize on the theme you want to update.
  3. Select the block you want to hide from guests (for example, the Add to Wishlist Button on the product page).

Step 2 — Change Show to

  1. In the block settings panel, find Show to.
  2. Change it from Guests and customers to Logged in customers only.
  3. Click Save.

Step 3 — Repeat for every wishlist UI you use

Apply the same setting on each wishlist block or embed you want to hide from guests:

Block / Embed Where to find it
Add to Wishlist Button
Product page template
Header Link
Header section
Wishlist Page
Wishlist page template
Floating Wishlist Button
App embeds
Floating Wishlist window
App embeds

Note: In the theme editor preview, blocks stay visible so you can configure them — even when Logged in customers only is selected. On the live storefront, guests will not see them.


If wishlist should be fully account-only, set Show to → Logged in customers only on:

  1. Add to Wishlist Button (or Floating Wishlist Button)
  2. Header Link (or Floating Wishlist window)
  3. Wishlist Page

This prevents guests from seeing a wishlist button, header icon, or wishlist page on the storefront.


Option 2 — Hide wishlist when using snippets

If you installed wishlist with Liquid snippets (wl-add-button  / wl-go-to-btn ), there is no built-in Show to setting. Hide the snippet by rendering it only when a customer is logged in.

How it works

Shopify Liquid exposes the current customer as customer .

  • If the visitor is logged in → customer  exists → render the snippet
  • If the visitor is a guest → customer  is blank → do not render the snippet

Hide the Add to Wishlist button snippet

Find where you render the snippet (usually in sections/main-product.liquid  or a product card snippet) and wrap it like this:

{% if customer %}
  {% render 'wl-add-button' %}
{% endif %}

For product cards, keep your existing parameters inside the same check:

{% if customer %}
  {% render 'wl-add-button',
    wish_product: card_product,
    view: 'icon_only',
    button_position: 'absolute'
  %}
{% endif %}

Hide the Go to Wishlist button snippet

Find where you render wl-go-to-btn  (usually in sections/header.liquid ) and wrap it the same way:

{% if customer %}
  {% render 'wl-go-to-btn' %}
{% endif %}

Important

How to verify

  1. Open your storefront in a private/incognito window while logged out.
  2. Confirm wishlist buttons, header link, floating UI, and wishlist page content are hidden.
  3. Log in as a customer and confirm wishlist appears again.

Troubleshooting

The block is still visible for guests

  • Confirm Show to is set to Logged in customers only.
  • Confirm you saved the theme editor.
  • Check that you updated the correct theme (unpublished themes do not affect the live store).
  • If you also use snippets, make sure those renders are wrapped in {% if customer %} .

The block is visible in the theme editor but not for guests on the live store

This is expected. In the theme editor, blocks remain visible for preview even when Logged in customers only is selected.

Guests still see a wishlist icon in the header

You may still have the Header Link block set to Guests and customers, or a wl-go-to-btn  snippet without a customer check. Update both if needed.


Do you need help?

If you have any questions or run into issues, please contact us — we’re happy to help.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us