=== CodeBold Wishlist ===
Contributors: codeboldit
Tags: woocommerce, wishlist, save for later, favourites, ecommerce
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Requires Plugins: woocommerce
Stable tag: 0.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Let shoppers save what they want for later — without making them register first, and
without losing the list when they do.

== Description ==

A wishlist that works for the people who have not signed up yet, which on most shops is
almost everybody.

* A heart on any product, on the shop grid and the product page
* Guests can save things straight away. No account, no prompt, no interruption
* **When a guest signs in, their saved items move onto their account.** This is the part
  most wishlists get wrong, and it loses the shopper's work at the exact moment they
  decided to buy something
* A wishlist page listing what they saved, with prices and stock as they are today
* Works before JavaScript loads: the heart is a real form, so it saves even if the script
  is blocked or still downloading
* Import from YITH WooCommerce Wishlist, keeping the original dates

= Built for real shops =

The button hooks into WooCommerce's own product loop, so it appears by itself in an
ordinary theme. Shops built with a page builder render their own product markup and never
fire those hooks — so there is a shortcode for that:

`[codebold_wishlist_button]` — inside a loop template, it becomes the right button for
every card. Add `label="yes"` to show the wording next to the heart.

`[codebold_wishlist]` — the page listing what has been saved.

= Nothing you have to configure =

There is no settings screen, because there is nothing worth deciding. It works when you
activate it.

== Installation ==

1. Install and activate WooCommerce, then this plugin.
2. Put `[codebold_wishlist]` on a page and call it Wishlist.
3. If your theme is a page builder, add `[codebold_wishlist_button]` to your product card
   template. Otherwise the heart appears on its own.

== Frequently Asked Questions ==

= Do shoppers have to register? =

No. That is the point. A guest's list is kept against their browser and moves onto their
account the moment they sign in.

= What happens if a saved product is deleted? =

It is skipped. The page shows what is still there rather than breaking on a line the shop
discontinued.

= Will it slow the shop down? =

One small table with an index on the owner. The heart on a product tile is rendered with
the page; nothing is fetched separately.

= Can I move my YITH wishlists across? =

Yes, and it keeps the original dates. Products or customers that no longer exist are
reported rather than imported as broken rows.

== Screenshots ==

1. The heart on a product tile
2. The wishlist page
3. A saved item that has gone out of stock

== Changelog ==

= 0.2.0 =
* Two Elementor widgets: **Wishlist Button** and **Wishlist Link**. Drag the heart into a
  loop item or a product template and it becomes the right button on every card; drop the
  link beside the cart icon in a header
* The button has a **Sit on top of the image** option, which is there because of a real
  problem. Elementor gives every widget its own positioned box, so a heart meant for the
  corner of a photograph lands underneath the picture instead of on it. The option fixes
  that, and nobody has to find out why it happened
* Hover-to-reveal for the overlay, always visible on phones and tablets — a card whose only
  save button appears on hover is a card that cannot be used on a phone. A saved heart stays
  visible either way, so a shopper can see what they already have without hovering every card
* The shortcodes are unchanged and still work. The widgets use the same renderer, so the
  button looks the same however it is placed

= 0.1.0 =
* First release: save for later, guest lists that survive signing in, a wishlist page,
  and a YITH importer

== Upgrade Notice ==

= 0.1.0 =
First release.
