| 开发者 | nareknovembit |
|---|---|
| 更新时间 | 2026年10月28日 17:49 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp coldstash preview, run, status, restore <id> / restore --all and verify give you full control from the command line.
Requirements
Requires High-Performance Order Storage (HPOS) with compatibility-mode sync turned off. Stores on legacy post-based order storage are not supported; the plugin stays idle and tells you why.
Install Coldstash, choose how old an order must be (24 months by default, at least 12) and which statuses to archive, then click "Start archiving". Old orders move into archive tables in the same database, and you can restore any of them at any time.
Archive them. Deleting shrinks the order tables too, but it is permanent: the order history your accounting, tax records, customer support and repeat customers rely on is gone. Archiving moves old orders out of the live tables just as effectively, and any of them can come back with its original order number.
It depends on what is slow. With HPOS, WooCommerce's order screens are already fast at large sizes. What grows without limit is the order meta, line item and order note tables, and that is what anything joining order data has to work through: exports, custom reports and integrations. Archiving keeps those live tables at the size of your recent orders. It does not speed up the storefront, and it does not shrink the database as a whole.
No. Orders are moved to archive tables in the same database and can be restored at any time, individually, in bulk or all at once. Nothing is deleted on archive, on deactivation, or on uninstall.
It makes the live order tables smaller, which is where WooCommerce reads and writes orders. The archive lives in the same database, so the database as a whole stays about the same size. If you want a smaller database overall, Coldstash is not a deletion tool and will not do that.
No. That is the central design decision: WooCommerce Analytics reads its own lookup tables, and Coldstash never touches them, so your revenue history stays the same. One caveat: WooCommerce's "Regenerate Analytics data" tool rebuilds reports from the live order tables and would drop archived orders. Coldstash warns you on that screen; use "Restore all" first, regenerate, then archive again.
Yes. Open WooCommerce → Coldstash → Archived orders, find the order by number, customer, email, product or transaction ID, and click Restore. It comes back with the same order number, and you can edit, refund or resend it like any other order. "Restore all" puts every archived order back in the background.
Not if you restored it on its own: it stays in the live tables and shows up as "Restored from the archive" in the exclusion list. Orders put back with "Restore all" are treated like any other order, so the next archive run can archive them again.
Yes, under WooCommerce → Coldstash → Settings: how old an order must be (at least 12 months), which statuses to archive (completed, cancelled, failed), and whether orders with active downloads stay live. Orders that are pending, processing or on hold are never archived.
It requires High-Performance Order Storage (HPOS), WooCommerce's order tables, with compatibility-mode sync turned off. Without HPOS, or while orders are still synced to the posts table, the plugin stays idle and tells you why, because archiving would not reclaim anything.
Orders linked to subscriptions, bookings or memberships are detected and left in the live tables, so renewals and access keep working.
Deactivating keeps everything. Deleting keeps the archive tables too, so no order is ever lost. To leave cleanly, use "Restore all" on the Archived orders screen first; once the archive is empty you can choose, under Settings, to remove the tables when the plugin is deleted.
Yes. Archived orders are included in WordPress's "Export Personal Data" and "Erase Personal Data" tools. Erasure follows WooCommerce's own "Remove personal data from orders on request" setting, exactly as it does for live orders.