=== Incode Cart Toolkit ===
Contributors: adrianincode
Tags: woocommerce, abandoned cart, cart recovery, side cart, ecommerce
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.0.11
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A side cart for WooCommerce and automatic abandoned cart recovery by email, with a dashboard of the money you got back.

== Description ==

Two things lose most orders in a WooCommerce shop: the jump to the cart page, and the customer who walks away and is never written to again. Incode Cart Toolkit handles both.

The side cart opens on its own when something is added, with no page reload. The customer changes quantities, removes a line and undoes it, and goes to the checkout without ever leaving the page they were on. The drawer comes with a clean design that sits well on any theme, and its heading, its wording and its main colour are yours to set.

The recovery side captures the email the moment somebody starts the checkout and, if they do not finish, sends a reminder with a link that puts their cart back exactly as it was. The dashboard tells you how much money came back and what your recovery rate is, with no spreadsheets.

On top of that come the things that quietly lift an order: a free shipping bar reading the threshold you already set in WooCommerce, an honest cart hold countdown that does not reset when the page reloads, and social proof built from your real orders and your real carts — if the numbers are not there, nothing is shown. No invented figures.

**What it does**

* A side cart that opens when a product is added, with no reload.
* Quantities, remove and undo, and empty the cart, all inside the drawer.
* Your own heading, your own wording and your own main colour for the drawer.
* A floating basket, a menu item, a `[carttoolkit_cesta]` shortcode and an Elementor widget.
* Real-time cart tracking, both anonymous and with contact details.
* The contact captured from the checkout and from signed-in users.
* One automatic email reminder, with a recovery link.
* A tab notice: leave the shop in a background tab and the title reminds them.
* A free shipping bar: "you are €6 away from free shipping", using your own WooCommerce threshold.
* A cart hold countdown that does not restart when the page is reloaded.
* Social proof from real data: purchases from your orders and carts that are genuinely active.
* A dashboard with money recovered, carts recovered and abandoned, and the recovery rate.
* Works with High-Performance Order Storage (HPOS) and the block checkout.

Every feature is a module you switch on or off from one screen, so the shop only loads what you actually use.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`, or install it from Plugins → Add new.
2. Activate it. WooCommerce has to be active.
3. Go to Incode Cart Toolkit → Settings to set the abandonment time and the email.

== Frequently Asked Questions ==

= Will it break my shop if I do not configure anything? =

No. It works out of the box with sensible defaults and it never blocks the checkout.

= Do I need an account or a licence? =

No. It works with no sign-up, no licence and without connecting to any outside service.

= One of my products does something odd when added to the cart. =

Some products have to go through their own page: subscriptions, bookings, or anything with custom fields. Put their IDs, or their category slugs, in "Products that do not open the drawer" and they will be added with a normal page reload.

= Does the social proof make up numbers? =

Never. The purchases come from your WooCommerce orders and the active carts from Incode Cart Toolkit's own table. If the minimum you set is not reached, no line is shown at all.

= Does the free shipping bar need setting up twice? =

No. It reads the minimum amount from your WooCommerce "free shipping" methods. You only type an amount by hand if you would rather override it.

== Screenshots ==

1. Add to cart and the drawer opens right there: no page reload, no trip to the cart page - the step where most carts are lost.
2. The cart hold on the cart page: an honest countdown that does not reset on reload, with the free shipping bar underneath.
3. Every cart that was started, with what is inside it, what it is worth and whether it came back.
4. Every feature is a module: switch it on or off here, or open it for its full settings.
5. The recovery email: who it comes from, the brand colour and logo, the subject and the body, with a test send.
6. General: how long before a cart counts as abandoned, open tracking, and where the notices are allowed to show.
7. The side cart in full: when it opens, what it lets people do and how it looks.
8. The free shipping bar: the threshold, the wording before and after, and where it sits.
9. The cart hold: how long you hold it, what it says while it runs and what happens when it runs out.

== Changelog ==

= 1.0.11 =
* The heading on the plugin's own screens said "Incode Cart Toolkit", the name of the paid product, instead of the name this plugin is published under.

= 1.0.10 =
* Internal names now carry a longer, distinctive prefix, so they cannot collide with another plugin's.

= 1.0.9 =
* "Track email opens" now does what it says: with the box unticked no tracking pixel is added to the email at all. Before, the pixel went out either way.
* Styles and scripts now go through the WordPress queue instead of being printed straight into the page, so caching and optimisation plugins can see them, combine them and defer them.
* The settings screen no longer shows options this version does not use.

= 1.0.8 =
* First-run steps in the Incode Cart Toolkit panel: a short checklist that is ticked against your own store -- the side cart, a test email, whether carts are being saved and whether the schedule is running -- and disappears on its own when there is nothing left to do.

= 1.0.7 =
* English is now the source language, with Spanish bundled as a translation, so the plugin can be translated into any language.

= 1.0.5 =
* The basket button (Elementor widget, shortcode or menu item) no longer carries a link when its job is to open the side cart: it opens the drawer and navigates nowhere.
* The side cart is also printed on pages that are not shop pages when there is a basket button on them.

= 1.0.2 =
* New Elementor widget "Basket (Incode Cart Toolkit)": the cart trigger goes wherever you want it and is edited from Elementor itself.
* The widget lets you pick the icon, the text, the counter and the amount, where it goes on click, and every colour, with typography, border, radius and padding.
* The counter no longer shows a "0" when the cart is emptied: it hides itself, like the floating pill.

= 1.0.1 =
* A single "Incode Cart Toolkit" panel: the plugin screens now live in one menu shared by the whole family, with their own subpages.
* A new Modules section to switch each installed add-on on and off without uninstalling anything.

= 1.0.0 =
* First release: cart capture, email reminder, recovery dashboard.

== Upgrade Notice ==

= 1.0.7 =
Translatable into any language.

