Configuration
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
Shortlist is configured from one screen: the Shortlist menu in wp-admin. The page opens to anyone with the manage_woocommerce capability (shop managers, not only administrators), and starts with working defaults, install and the wishlist already works. Settings save into a single shortlist_settings option (an array) and group into the master switch, guest access, placements, button labels, the list appearance and the dedicated wishlist page. Every option carries a ? help popover that explains its effect.
Enable wishlist
Section titled “Enable wishlist”The master switch. When off, Shortlist renders nothing on the storefront. Turn it on to show the wishlist button in your chosen placements.
Allow guests
Section titled “Allow guests”On by default. When on, logged-out visitors get a wishlist kept in a cookie, which merges into their account automatically the next time they log in. Turn it off to send logged-out clickers to the login screen instead.
Placements
Section titled “Placements”Choose where the Add to wishlist button appears, each toggled independently:
- Shop and archive loops, a full-width toggle on each product card in the shop, category and tag loops. Variable products are skipped here, because they need their options chosen first; their button only appears on the single product page.
- Single product page, added to the product summary, just below the add-to-cart area (it hooks
woocommerce_single_product_summaryat priority 33). - My Account tab, adds a Wishlist tab to the WooCommerce My Account area, reachable at
/my-account/shortlist/. The tab is inserted just before Logout in the account menu.
You can also show an optional saved-item count next to the My Account menu label, e.g. Wishlist (3), which updates live as the shopper toggles items. The count needs the My Account tab placement on as well; with that off it is a no-op.
Button labels
Section titled “Button labels”- Add label, text for the button when the product is not on the list. Leave blank to use the default Add to wishlist.
- Remove label, text once the product is saved, so clicking again removes it. Leave blank to use the default Remove from wishlist.
- Variation hint, message shown under the button on a variable product until the shopper picks options, since the button saves a specific variation. Leave blank to use the default Choose product options before adding to your wishlist.
The Add and Remove labels are also the live toggle text: as a shopper saves and removes an item, the button text and its aria-pressed state switch between the two without a page reload.
Wishlist list appearance
Section titled “Wishlist list appearance”These control how the saved list renders on the My Account tab, the dedicated page and the shortcode/block:
- Heading (default My wishlist) and an optional intro text above the list. The heading only shows when Show heading is on; leave the intro blank to hide it.
- Empty-list message (default Your wishlist is empty.) shown when nothing is saved. A Browse products link to your shop page is added automatically below it.
- Column count, how many products sit side by side, 1-6 (values outside that range are clamped on save). The grid drops to fewer columns on small screens via CSS.
- Product details, which parts of each saved product appear: image, name, price, add-to-cart button and the remove button, each toggled independently. Price is rendered exactly as WooCommerce formats it (including any sale price). The add-to-cart button only shows for products that are purchasable, in stock and support AJAX add-to-cart; for everything else it is omitted rather than shown disabled.
Dedicated wishlist page
Section titled “Dedicated wishlist page”You can give the wishlist its own page rather than relying only on the My Account tab:
- Choose a page from the dropdown, or click Create wishlist page to publish one containing the
[shortlist]shortcode. - Show list on page, when on, Shortlist outputs the grid automatically if the page body has no
[shortlist]shortcode yet. If the page already contains the shortcode, leave this off to avoid a duplicate list.
What is fixed by design
Section titled “What is fixed by design”A few behaviours are deliberately not settings:
- The single-product button always sits in the product summary just below add-to-cart; the loop button is always full-width on the card. Their placement is on/off, but the position within each context is fixed.
- Variable products never render in the shop loop and stay disabled on the product page until a variation is selected, the saved item is always a concrete, purchasable item, never an unresolved parent.
- The toggle always posts to
admin-ajax.php; there is no page-reload fallback, so the button needs JavaScript enabled to work.
How saves are stored
Section titled “How saves are stored”Each saved item is a row in the custom {prefix}shortlist_items table, keyed to exactly one owner: a logged-in customer’s user ID, or a guest’s session ID. The same product appears at most once per owner, and items are listed newest-first. Guest sessions live in an HttpOnly, SameSite=Lax cookie (shortlist_session, six-month lifetime); on login the wp_login hook moves any guest rows onto the new account, so nothing is lost, there is no manual import. Deleting the plugin from the Plugins screen drops the {prefix}shortlist_items table and removes the shortlist_settings and shortlist_db_version options.
Assets and where they load
Section titled “Assets and where they load”Shortlist enqueues its stylesheet and one front-end script only where the wishlist can appear: the shop page, single products, product taxonomy archives, the account pages and the dedicated wishlist page. The rest of your store loads neither file. The script is loaded defer in the footer.
Engine and theming
Section titled “Engine and theming”The wishlist orchestration, guest cookie, ownership, the AJAX toggle, the My Account shortlist endpoint, guest-to-customer transfer on login, and asset enqueue, comes from the shared wppoland/storefront-kit Wishlist engine; Shortlist is a thin adapter that injects the text domain, the shortlist_settings option, asset URLs, the button/list markup and the custom-table storage. The markup ships in the plugin’s templates/ directory and is not overridable from your theme, but the storefront stylesheet (heart icon, dark-mode support, reserved image space) uses plain, low-specificity class names like .shortlist-wishlist-button and .shortlist-wishlist-grid, so you can restyle it from your theme’s own CSS.