| 开发者 | ankitv |
|---|---|
| 更新时间 | 2026年6月2日 21:05 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
1×month, even when it should be 3×month, 6×month, or 12×month. This causes incorrect renewal dates and lost revenue without any visible error.
What this plugin does
It scans your entire subscriptions table, detects mismatches by comparing the subscription's stored interval against the linked product meta and original order line-item meta, and lets you fix them safely — without creating spurious renewal orders or triggering AutomateWoo workflows.
Features (all free, all unlocked)
wc_get_orders() and WC_Subscription::save() throughout; no direct post-meta writes.1×month interval to fire 0.00 fulfilment renewals (e.g. 6-month prepay boxes) are detected and skipped automatically.calculate_totals().avcl-subscription-interval-repair-for-woocommerce folder to /wp-content/plugins/.No. Every feature in this plugin works in full, with no quotas, no license keys, and no trial period. "Fix one", "Fix all broken", dry-run preview, audit log, and CSV export are all fully available.
No. The repair tool only changes billing metadata (interval, period, and next_payment date). It never calls wcs_create_renewal_order() or any payment-processing function.
Yes — always run a Dry Run first to preview exactly which subscriptions will change and what the new values will be. Nothing is written to the database during a dry run.
Yes. All queries use wc_get_orders() with type=shop_subscription, and saves use WC_Subscription::save(). There are no direct post-meta writes.
No. The woocommerce_subscription_status_updated and related hooks are temporarily removed before the metadata-only save and restored immediately afterwards.
The audit log records full before/after snapshots for every repair. You can use those values to manually revert an individual subscription from the WooCommerce subscription edit screen.
The scanner checks subscriptions where the stored billing_interval × billing_period does not match what the original product meta and order line-item meta indicate the interval should be. Subscriptions with an intentional 1×month billing pattern (e.g. prepay products) are detected and skipped automatically.
It iterates the list of broken subscriptions from the most recent scan and calls the single-subscription repair endpoint for each one in series. Each repair is atomic and produces its own audit-log row — there is no batched database write that could leave subscriptions in a partial state.
The Pro plugin is a separate plugin (not hosted on WordPress.org) that adds bulk subscription price updating by product / variation / CSV, a tax-safe price-split engine, a manual trigger panel, prepay tools, and a scheduled-renewal helper. The free plugin you are reading about here is complete on its own; Pro is only worth considering if you need those specific extras.
No. The free plugin automatically detects when the Pro edition is active and stands down its admin UI and AJAX handlers so menus and hooks do not collide. You can safely deactivate the free plugin once Pro is active.
AVCL_WCSR_PRO_URL constant (filterable) for the upgrade page CTA.avcl_wcsr_show_upgrade_page filter to hide the Free vs Pro submenu entirely if preferred.Requires Plugins: woocommerce header so WordPress blocks activation when WooCommerce is missing.avcl-subscription-interval-repair-for-woocommerce per WordPress.org guidelines.init hook with load_plugin_textdomain().