Linux 软件免费装
Banner图

Doctor Subs

开发者 davidrukahu
更新时间 2026年5月18日 19:21
PHP版本: 7.4 及以上
WordPress版本: 6.9
版权: GPLv2 or later
版权网址: 版权信息

标签

woocommerce subscriptions troubleshooting diagnostics payment issues

下载

2.1.0 2.1.1 1.2.4

详情介绍:

You don't always find out a renewal is broken until a customer emails you. Doctor Subs watches your subscriptions in the background and tells you when something is silently wrong, before you hear about it. For each problem, you get a plain-English explanation, a preview of exactly what the fix will change, and one button to apply it. Every fix is logged and can be undone. If a fix already triggered a real payment, the undo screen says so explicitly. Built for store owners who run between 20 and 500 active subscriptions and don't want to read logs or write code. What it spots What it doesn't do If you've ever found out about a broken renewal from a customer instead of from your store, this is for you.

安装:

Automatic
  1. Plugins > Add New > search "Doctor Subs"
  2. Install > Activate
Manual
  1. Download the plugin zip from WordPress.org or GitHub Releases
  2. Plugins > Add New > Upload Plugin
  3. Install > Activate
After activation
  1. WooCommerce > Doctor Subs
  2. Click Scan my subscriptions
  3. Review the X-of-Y healthy stat and the two action counters, click into the broken bucket, preview a fix, commit

屏幕截图:

  • Fix preview modal: plain-English narrative, named diff (before -> after), and the "you can undo this" reassurance line
  • Fix history: per-rule filter chips along the top, plain-English summary per row, individual Revert buttons
  • Settings: alerts toggle + email recipient, fix-history retention selector, anonymous telemetry opt-in
  • Detection rules: six rule cards with on/off toggles plus Detects + Fix descriptions for every rule

升级注意事项:

2.1.1 Docs-only release. Adds an FAQ comparing Doctor Subs to WooCommerce's new built-in Subscriptions Health Check tool. No code changes. 2.1.0 Adds three new detection rules (manual-renewal drift, mass on-hold cascade, total drift), bulk-fix for any visible row set, and a styled revert confirm with executed-payment warnings. Schema migrates automatically on first admin page load. No breaking API changes for third-party rules. 2.0.0-alpha.1 Major rewrite. Breaking class rename: WCST_ to DR_Subs_. class_alias shims keep WCST_Plugin / WCST_Admin / WCST_Ajax_Handler working. Backup before upgrading if you have custom integrations. 1.2.4 Important security fixes and compatibility improvements. All users should upgrade.

常见问题:

Does Doctor Subs fix issues automatically?

No. The plugin never mutates your data without an explicit Fix click. Every change shows a preview first and lands in the Fix history with a Revert button. The scanner only detects; the merchant decides.

What happens if I revert a fix after the payment already ran?

The revert confirm explicitly tells you: the re-scheduled payment has already charged the customer, reverting will undo the status change but will NOT refund. If a refund is needed, handle it in the related WooCommerce order.

Does it really detect the silent "manual renewal" bug?

Yes. The Manual-renewal drift rule looks for active subs whose _requires_manual_renewal flag is set despite a working Stripe customer/source meta on file. It clears the flag in both the orders table and postmeta (belt-and-braces against the HPOS sync gap), re-stamps next_payment if past-due, and schedules a fresh renewal so WCS bills automatically again.

Is this a replacement for dunning management?

No. Doctor Subs fixes structural issues (missing AS events, stuck-on-hold statuses, manual-renewal flag drift, line-item total drift). It does not handle card declines, SCA prompts, or retry strategy. For those, use your gateway's built-in dunning or a dedicated plugin.

Which gateways does it support?

v2.1: Stripe fully supported across all rules that need a gateway signal (stuck on-hold, manual-renewal drift). The remaining rules are gateway-agnostic. PayPal, Authorize.net, Square, and WooPayments variants land in a future release.

Will it work on stores with 10,000+ subscriptions?

Yes. The scanner uses a shared pre-built index so every rule is O(1) per sub (no N+1 queries). The DR_SUBS_SCAN_BATCH_SIZE constant lets you tune the batch size in wp-config.php for very large stores.

Can I extend it with my own rules?

Yes. Implement DR_Subs_Rule_Interface and register on the dr_subs_register_rules action. See the six built-in rules under includes/rules/ for examples.

Is HPOS supported?

Required. Doctor Subs declares High-Performance Order Storage compatibility and requires WooCommerce 9.0 or higher.

How is this different from WooCommerce's built-in Subscriptions Health Check tool?

WooCommerce ships a Subscriptions Health Check tool that flags two conditions: subs on manual renewal that have a valid saved payment token, and subs with a missing or overdue next-payment date. It surfaces them as a list and points you at the relevant order so you can act manually. Doctor Subs overlaps on those two patterns (Manual-renewal drift, Ghost subscription) and adds four more the built-in tool doesn't cover: mass on-hold cascade after a product edit, stuck on-hold despite a captured Stripe renewal, repeated payment failures within 30 days, and total drift between the stored total and line items. It also wraps every detection in a preview-before-apply modal, one-click fixes, a per-entry revert journal, bulk-fix across N matches, state-guarded apply (aborts if the sub changed between detection and apply), and an optional email digest when something new breaks between scans. Short version: WC's tool is a flagger. Doctor Subs is a flagger plus a reversible repair surface. Running both is fine - they don't conflict.

更新日志:

2.1.1 Docs only. New FAQ entry comparing Doctor Subs to WooCommerce's built-in Subscriptions Health Check tool, with link to the official WooCommerce documentation. No code changes. 2.1.0 Major detection + UX expansion. Six rules now ship; design language tightened. New rules (3): Dashboard: Bulk + revert: Settings: Fix history: Schema + scanner: Design + accessibility: Internal: 2.0.0-alpha.1 Major rewrite. Single breaking change moment: every PHP class renamed from WCST_ to DR_Subs_; legacy class_alias shims ship for the three most-likely-extended public classes. 1.2.4 1.2.3