Troubleshooting¶
What goes wrong once Wishlist is running, and what each symptom means.
If Wishlist will not open at all (a blank page, or a bounce back to the dashboard), that is an install problem rather than a Wishlist one. See troubleshooting an install.
Whatever the symptom, Wishlist wrote down what it did and what it refused to do, in a file your own admin downloads in one click. See what Kyvero extensions log.
Nobody is receiving any alerts¶
In this order, because each step rules out the one below it:
- Is the store on OpenCart 4.1.0.4? Then OpenCart's own scheduler runs
nothing at all on that store, for any extension. Wishlist's own settings screen
says so, and names the two doors that do work there: the Sweep address on
that screen, fetched hourly by a cron panel or a cron service, and
php extension/wishlist/wishlist.php sweepfrom your store's directory. See install. - Is anything running the sweep? If you are using OpenCart's scheduler, look
at Extensions → Cron Jobs and at Date Modified on the two Wishlist
rows. A date that never moves means nothing is calling the scheduler, which
is fixed with a server-side crontab line rather than anything in the admin. If
you are using one of the other two doors, run the command and read what it
prints (it reports its counts and exits 0 when the sweep ran), or fetch the address once
and then look at System → Maintenance → Error Logs, the
kyvero.logtab, where every wake-up writes one line whether or not it had anything to do. Fetching the scheduled route without the secret does not work and is not a workaround: it answers 404, because that route makes your store email its customers. The address on the settings screen already has the secret in it; copy it whole. - Is the alert type switched on? Extensions → Extensions → Modules → Wishlist: Price-Drop Alerts and Back-In-Stock Alerts are separate switches, read per store; on a multi-store install, pick the storefront under Shopfront first. On the same screen, Sweep Runs set to weekly or monthly means a sweep that wakes and does nothing until its cycle comes round.
- Can the store send email at all? System → Settings → edit your store → Mail. A store with no mail engine is skipped by the sweep and consumes nothing: configure mail and the waiting alerts go on the next sweep.
- Has anybody asked? Reports → Most Wishlisted has Waiting for stock and Watching price columns. Zero in both is a store where nobody has ticked anything, and no amount of scheduling will produce an email.
One customer says they heard nothing¶
- Are they a guest? Alerts are for logged-in customers only. If they saved the product without signing in, there was never an address to email.
- Did they tick it? Open Customers → Customers → their record → Wishlist. The alert badges say what they asked for, per product. No badge is no subscription, and you cannot tick it for them. See help a customer who unsubscribed.
- Did they unsubscribe? One click in any alert email stops all of them for that customer on that store, permanently, and saving something new does not undo it. The way back is their own wishlist page.
- Was the product in stock when they saved it? A back-in-stock alert fires on the crossing: something that was available when they saved it, and stayed available, never mails anybody.
- Was the price lower than what they saw? The comparison is against the figure the product page showed when they saved it: special applied, tax included where your store displays it that way, in the store's default currency. A discount that only brings it back to a previous price is not a drop against their baseline.
- Was it within the cooldown of the last one? The same product cannot mail the same person twice on the same axis within Cooldown Per Product, which is 24 hours unless you changed it.
The alerts went out to some customers and not others¶
That is the per-sweep cap. By default 200 customers are emailed per sweep; the rest keep their place (nothing is consumed) and go on the next one, oldest observation first. A catalogue-wide price change on a large store takes several hours to work through, deliberately: sending ten thousand messages through one PHP request can use up a store's mail quota and damage its sender reputation in an afternoon.
Raise Customers Per Sweep if your mail provider can take it.
A shopper says their wishlist emptied itself¶
- Did they clear their cookies, switch browser, or use a private window? A guest wishlist is found by a cookie. A different browser is a different shopper as far as the store can tell, and there is nothing stored that could identify them another way. The old list is not deleted; it is unreachable.
- Was it a guest list older than your retention window? Default 180 days from the last time they looked at it. The daily job removes the guest, their saved products and their share link.
- Are they signed in? A logged-in customer's wishlist is OpenCart's own and is never expired by anything here.
- Is it a multi-store install? Saved products are per store, which is core's own behaviour: a list saved on one storefront does not appear on another.
A share link says it is not available¶
The three cases are answered identically on purpose, because the page must not tell a stranger which it is:
- the link was replaced by a new one, which revokes the old immediately;
- the owner switched it off;
- the token never existed.
Ask the owner to open their wishlist and look at the Share this wishlist card. It says which of the three applies for them and offers the button that fixes it.
Add all to cart left some products behind¶
That is the intended answer, and the sentence on the page says which of three reasons applies to each row:
- needs its options chosen: a required option or a subscription plan, which a wishlist row cannot carry. The shopper follows the link to the product page.
- is out of stock: on a store that does not allow checkout with out-of-stock lines. If you sell backorders, turn on System → Settings → edit your store → Option → Stock Checkout and the line goes in as core's own button would add it.
- is no longer available: disabled, outside its date range, or in another store. The row stays on the wishlist; pressing add-to-cart never edits somebody else's list.
The Wishlist tab is missing from a customer record¶
- Permission.
extension/wishlist/customer/wishlistunder both Access Permission and Modify Permission for that user group. Without access, the tab is not rendered at all. - A theme that rewrote the customer form. The tab is spliced in beside core's own; where the anchors it looks for are gone, it leaves the screen exactly as OpenCart rendered it. Nothing else is affected, and the report is unaffected.
Most Wishlisted is not under Reports¶
- The report is installed with the module, so a store that has never had the module enabled has no report. Enable it under Extensions → Extensions → Modules → Wishlist.
- If somebody uninstalled the report on its own from Extensions → Extensions → Reports, reinstall it from that same list. It comes back with its settings.
- Permission:
extension/wishlist/report/wishlist, both columns. - Report status: Extensions → Extensions → Reports → Most Wishlisted → edit has its own Status, which is OpenCart's idea of whether a report is offered in the menu.
The numbers in the report went down¶
They are live counts of what is on somebody's wishlist right now, so a customer removing an item lowers them, and a guest list reaching the end of its retention window lowers them. There is no all-time figure and none is faked; the screen says so under the table.
The storefront wishlist looks like OpenCart's again¶
The module was disabled or uninstalled. Wishlist reaches your store's wishlist through event rows, and those go with the uninstall, so the next request gets core's own page, with every logged-in customer's saved products intact. Enable it again under Extensions → Extensions → Modules and the guest lists, share links and subscriptions are all still there.
The settings screen says this OpenCart release is untested¶
It is a note, not a fault: the store is newer than the newest release Wishlist has been through a full install-to-uninstall pass on. Everything is expected to work and nothing on that release has been proven. The releases that have been are ticked on the marketplace listing.