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
- Go to your Shopify admin → Online Store → Themes.
- Click Customize on the theme you want to update.
- 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
- In the block settings panel, find Show to.
- Change it from Guests and customers to Logged in customers only.
- 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.
Recommended setup for account-only wishlist
If wishlist should be fully account-only, set Show to → Logged in customers only on:
- Add to Wishlist Button (or Floating Wishlist Button)
- Header Link (or Floating Wishlist window)
- 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 →
customerexists → render the snippet - If the visitor is a guest →
customeris 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
- Do not remove or disable R+ Wishlist - Helper. The helper can stay enabled; only the UI snippets are hidden for guests.
- If you use both an App Block and a snippet for the same feature, hide both — otherwise guests may still see one of them.
- For more on snippet setup, see:
How to verify
- Open your storefront in a private/incognito window while logged out.
- Confirm wishlist buttons, header link, floating UI, and wishlist page content are hidden.
- 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.