| 开发者 |
jkohlbach
RymeraWebCo smub |
|---|---|
| 更新时间 | 2026年10月22日 09:48 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
saveto-wishlist-lite-for-woocommerce/ folder to the /wp-content/plugins/ directory.We aim to create the easy-to-use wishlist experience for WooCommerce — one that helps store owners grow. It's a feature-rich wishlist plugin that comes with everything you need to give your customers a great experience saving products to lists.
No, you and your customers can create as many wishlists as you like.
Yes, it does.
Open the page in UX Builder, click to add an element, and choose "Save to Wishlist" from the Content category. The element has two optional settings: a Wishlist ID, to pin the element to one specific wishlist, and a "Show the default wishlist only" toggle. Leave both alone and the element behaves exactly like the [saveto_wishlist] shortcode. This matters because a UX Builder page stores its own layout. If you rebuild your wishlist page in UX Builder without adding this element, the page has no wishlist on it to show. Adding the element puts it back. One limit worth knowing: place the element on the page itself. If you put it inside a reusable UX Block and then pull that block into a footer, a menu, or a custom product layout, the wishlist still appears but its scripts and styles will not load with it.
Yes, they can! Your users can create and name as many wishlists as they like to help them organize their shopping on your store.
Yes! With a single click, shoppers can bookmark items and curate a list of their favorite products to save for later.
Yes! Guests can save products without logging in. When they eventually create an account, all of their saved items are automatically merged, so they don't lose anything.
Yes, and SaveTo Wishlist adds a native "Save to Wishlist" module to the Divi Builder so you can place the wishlist exactly where you want it.
Divi builds pages with its own layout system rather than the WordPress page content, so a page you have built with the Divi Builder — or a page covered by a Divi Theme Builder template — may no longer run the [saveto_wishlist] shortcode that the plugin's Wishlist page normally uses. (A Theme Builder template that includes Divi's own Post Content module still runs it.) If your Wishlist page looks empty under Divi, that is why.
To fix it, open the page in the Divi Builder, add the "Save to Wishlist" module wherever you want the wishlist to appear, and save. The module also works inside Divi Theme Builder templates, so you can build one wishlist layout and reuse it across your site. Leave the module's "Wishlist ID" field empty and it shows each visitor their own wishlist.
The module needs Divi 4, either the theme or the Divi Builder plugin. It appears in the builder's module list under its own name, alongside Divi's other modules. Divi 5 uses a new module system and is not supported yet.
Yes. The wishlist button works out of the box with Woostify, and the plugin ships Woostify-specific styling so the button looks native on Woostify's shop, archive and single-product templates — no custom CSS needed. Because Woostify rebuilds the WooCommerce product loop and uses its own product gallery, a couple of button placements are best avoided on Woostify. You'll find these options under SaveTo Wishlist → Settings → Button. Shop page — "Button Placement":
Yes. The wishlist button works out of the box with Blocksy, and the plugin ships Blocksy-specific styling so the button looks native on Blocksy's shop, archive and single-product templates — no custom CSS needed. Every placement shows the button on Blocksy; the notes below tell you what to expect from each one. You'll find these options under SaveTo Wishlist → Settings → Button. Shop page — "Button Placement":
Yes. The wishlist button shows on every card of the Ultimate Store Kit widgets that have their own "Add to Cart" action button: the Glossy, Shiny and Florence grids and carousels, the Heaven, Mentor and Showcase sliders, Product Accordion, Product Image Accordion and Image Hotspot. You'll find the button settings under SaveTo Wishlist → Settings → Button. Ultimate Store Kit has its own wishlist icon, which each grid controls with a "Wishlist" switch that is turned on by default. To make sure a card never shows two hearts, SaveTo Wishlist keeps its own button hidden while that switch is on. To use the SaveTo Wishlist button instead, open the grid in Elementor and turn the "Wishlist" switch OFF. The SaveTo Wishlist button then appears on every card of that grid. Each grid has its own switch, so you can use Ultimate Store Kit's icon in one grid and the SaveTo Wishlist button in another. A few things to know:
On a block theme, WooCommerce builds the shop and category pages out of blocks, and SaveTo Wishlist attaches the button to the block that matches your chosen placement. Each placement uses a different block:
Yes, and you do not need to write any code. With Popup Maker active, SaveTo adds four things to Popup Maker's own screens:
stwlite_wishlist_added cookie in your caching plugin so the Customer Has Wishlisted Products condition is evaluated per visitor.
If you switch the wishlist add signal off (see Can I stop SaveTo from setting the wishlist cookie? below), two of these stop working. The Product Added to Wishlist trigger stops opening popups for everyone, guests and logged-in customers alike, because it listens for the event the signal carries. The Customer Has Wishlisted Products condition stops matching guests once their existing cookie is gone, because that cookie is the only thing that tells your server a guest has saved anything. Logged-in customers still match the condition, because they are matched from their saved wishlists.
On every successful add, SaveTo emits two generic browser-side signals — for both guests and logged-in customers, and whether or not Popup Maker is installed. Both can be switched off; see Can I stop SaveTo from setting the wishlist cookie? below. Use these if you want to build your own behaviour on top of a wishlist save:
document named stwlite_added_to_wishlist, carrying event.detail = { productId, collectionId }. Use it for instant triggers. productId is the variation ID for variable products, and 0 when several products were saved at once (the "save cart to wishlist" button). collectionId is 0 for guests, whose items are stored in the browser rather than in a wishlist.stwlite_wishlist_added, whose value is the URL-encoded product ID — run it through decodeURIComponent() before using it. Use the cookie for cross-page-load targeting such as exit-intent. It lasts 30 days and is cleared once the customer removes their last wishlisted product, or as soon as you switch the signal off.PUM.open()):
document.addEventListener( 'stwlite_added_to_wishlist', function ( e ) { PUM.open( 123 ); } );
Note: when Wishlist > Settings > General > Add to wishlist button is set to Redirect, the page navigates away immediately after the add, so use the cookie rather than the event in that mode.
The wishlist page shows the total value of the wishlist below the items. You can hide it with Wishlist > Settings > Wishlist Page > Show Wishlist Total.
To change it in code, use two JavaScript filters from wp.hooks. Both run in the browser, so add them from a script that loads on the wishlist page.
stwlite_wishlist_total runs first. It receives the total as a number and the wishlist items as an array. Return a number. If you return anything that is not a finite number, SaveTo ignores it and keeps the calculated total.stwlite_wishlist_total_html runs second. It receives the formatted total as a string, the total as a number (the value the first filter returned), and the wishlist items. Return the HTML to show. SaveTo removes scripts and unsafe markup from the result before it renders.wp-hooks as a dependency and load it before the SaveTo wishlist script. A filter added later does not take effect until something else makes the page render again.
The total covers every item that matches the search, not only the current page. Items with no price are left out. On the logged-in wishlist page, the total is not shown when more than 200 items match. The total is also not shown when SaveTo Pro hides the Price or Subtotal column.
The items array holds every item that matches the search, with each item's current quantity. Each item has a product object. On the logged-in wishlist page, item.id is the wishlist item ID. On the guest wishlist page, item.id is the product ID.
wp.hooks.addFilter( 'stwlite_wishlist_total', 'my-plugin', function ( total, items ) { return total * 0.9; } );
wp.hooks.addFilter( 'stwlite_wishlist_total_html', 'my-plugin', function ( html, total, items ) { return '<strong>' + html + '</strong>'; } );
Yes. Once both plugins are active, SaveTo records wishlist activity as events in your Independent Analytics reports, named after the product — for example Wishlist added: Blue Hoodie. Sort your report by views and the products at the top are the ones shoppers want most. A save is recorded when a customer clicks the wishlist button. A removal is recorded when a customer removes a product: from the wishlist button, from the wishlist page, or automatically after adding it to the cart. Removals on the admin Wishlists screen, saving the whole cart to a wishlist, and deleting a whole wishlist are not recorded. SaveTo also adds a Wishlist demand widget to your WordPress Dashboard, next to the Independent Analytics widget. It lists the products saved to the most wishlists, so you can see demand at a glance without opening a report. The list refreshes every 15 minutes. Two things are worth knowing before you go looking for the data:
Yes. Go to Wishlist > Settings > General > Privacy and set Enable wishlist add signal cookie to No. Your store then stops writing the stwlite_wishlist_added cookie and stops firing the stwlite_added_to_wishlist event, and any cookie already on a shopper's browser is cleared the next time they load a page. Customers can still save products to their wishlists exactly as before.
This is the setting to use if your store needs consent before it writes a marketing cookie, for example under the German TDDDG or the GDPR.
Developers can do the same in code with the stwlite_enable_wishlist_add_signal_cookie filter, which defaults to true:
add_filter( 'stwlite_enable_wishlist_add_signal_cookie', '__return_false' );
The filter name mentions the cookie, but it controls the DOM event as well — the two always travel together.
The filter runs while the page is built on your server, so the answer is baked into the page that is sent to the browser. Two things follow from this. If you run a full-page cache, flush it after you change the setting, because cached pages keep the old answer until they are rebuilt. And if you want to tie the signal to a consent banner, make the page bypass your cache, or vary it on your consent cookie — otherwise one shopper's consent is cached and served to the next shopper.
Still have questions? Please do not hesitate to reach out to our team via the support forums.
stwlite_wishlist_total and stwlite_wishlist_total_html JavaScript filters so developers can change the wishlist total and the markup it rendersstwlite_frontend_translations filter so add-ons can contribute their own strings to the wishlist frontend appstwlite_load_frontend_assets filter to opt individual pages out of the frontend assets, for themes and plugins that replace the checkoutdefaultonly attribute to the [saveto_wishlist] shortcode to display only the default wishlist