| 开发者 | hhmentalhh |
|---|---|
| 更新时间 | 2026年11月13日 00:16 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
/wp-content/plugins/.No. Abandoned-cart tools key off cart state, before checkout is ever completed. OrderBuster watches order status, for orders that were already placed and are sitting on-hold or pending payment — most commonly stores using a manual payment method (bank transfer, Zelle, crypto, other P2P apps) instead of an auto-capturing card processor. The two don't overlap and won't double-email the same customer for the same reason.
No. Everything runs on your own site's WP-Cron. No external service call is required for the plugin to function.
It's marked Cancelled in WooCommerce and the customer gets a branded cancellation email explaining why. Nothing else on the order changes, and cancelling is always reversible from the native WooCommerce order screen like any other order.
Yes. Every reminder includes a self-service "I already sent payment" link. Clicking it pauses that order's countdown and flags it for merchant review instead of risking a wrongful auto-cancel.
date_i18n() ignores its $gmt argument when a timestamp is passed in rather than the "current time" case -- the correct call for a real UTC timestamp is wp_date().ordbust_trail table) -- the foundation for the upcoming Order Card process-flow buttons (payment-received, tracking, packing slip, order issues/delay, internal notes). No new admin UI yet; this release only lays the data layer those features will write to and read from.ORDRES_/ordres_ → ORDBUST_/ordbust_), file names, and the Plugin URI subpath (zoa.captelek.net/wpplugins/orderrescue → .../orderbuster) all updated to match. A one-time migration (runs automatically on an already-active install, not just on reactivation) carries over any settings and in-flight order data stored under the old option/meta-key names, so existing installs don't lose configuration in the switch. Everything below this entry describes OrderRescue's own history under its original name — left as originally written, not rewritten after the fact.ORDRES_Licensing::is_premium(), the "Upgrade — coming soon" CTAs) — OrderRescue already shipped 100% free with no paid tier, this just removes the dead gate-shaped code the review correctly flagged; the sponsor line and its cross-promotion copy stay, just without any premium-unlock framing. Moved a hardcoded <style> echo (hiding one submenu item) to a properly enqueued/registered style. Hardened the Email Preview page's "full store theme" render to escape its HTML via wp_kses_post() instead of a bare echo with a blanket escaping exception. Added a Requires Plugins: woocommerce header plus a runtime check: if WooCommerce isn't active, OrderRescue now shows a plain admin notice instead of fataling.Text Domain header and every translation call used order-rescue, but the slug WP.org actually assigned this submission is orderrescue (derived from the "OrderRescue" plugin name, which has no space/hyphen to split on). Renamed the Text Domain header and all 248 translation-domain arguments to orderrescue to match. The two internal admin-menu-slug constants that happened to share the old string (DASHBOARD_SLUG, the enqueue-assets page check) are unrelated to the WP.org plugin slug and were deliberately left unchanged. No functional change.translators: comments, 2 unordered placeholder strings (now positional, %1$s/%2$s), 5 outputs that were already escaped upstream but the scanner couldn't trace (annotated, not re-escaped), a nonce value not unslashed before verification, and 2 intentional non-prefixed hook invocations (WooCommerce's own woocommerce_email_header/_footer, used on purpose to reuse its email template) annotated so they read as intentional. The 3 "no nonce" findings on the public "I already paid" link are by design — that link has no WP session to carry a nonce; order_key is the verified auth token instead — now annotated accordingly. No functional change.// translators: comments on every multi-placeholder string (5 found), confirmed the plugin's own prefix (ORDRES_/ordres_) has zero collision risk, confirmed no stray untracked files would ship, confirmed no .distignore is present (one briefly blocked PB's own automated scan). No functional change.wc_get_orders(), WC_Order meta accessors, both legacy and HPOS column hooks), but never formally declared compatible — stores running HPOS would have shown OrderRescue as unverified under WooCommerce → Settings → Advanced → Features.zoa.captelek.net/wpplugins/orderrescue). That landing page itself is still pending (goes live once the plugin clears WP.org review), so the link won't resolve yet.