| 开发者 | dotance |
|---|---|
| 更新时间 | 2026年10月9日 07:32 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
* wildcards) to the ignore list on the Settings tab.
Safe by default
manage_options) can view the timeline or undo anythingwp settings-undo list|diff|undo|undo-group|checkpoint|checkpoints|rollback|export|prune|clear/wp-json/settings-undo/v1/changes) and, on WordPress 6.9+, a read-only Ability for AI assistants. Neither can change a setting.settings_undo_ignored_options – filter an array of option names or * globs to ignoresettings_undo_max_value_size – filter the byte cap above which a value is logged but not stored (default 512 KB)settings_undo_alert_options – filter the options that trigger the critical-change emailsettings_undo_recorded – action fired after a change is storedsettings-undo folder to /wp-content/plugins/, or install it from the Plugins screen.No. Nothing runs on the front end for visitors, apart from the admin-bar menu for logged-in administrators, which you can switch off. Recording happens only when an option actually changes, and only after a cheap check that the option is not on the ignore list. Reading the timeline is a handful of queries per page.
Either the option is on the ignore list (transients, cron, caches, version numbers and similar noise), or the value was written by a background process – cron, WP-CLI or an anonymous request – which is not recorded unless you switch that on under Settings.
It records a position in the history, not a copy of your database. Rolling back replays the earliest recorded value of every option changed since then, shows you the result first, and lets you untick anything you want to keep. It can only restore settings the plugin recorded, so a checkpoint is only as complete as the history behind it.
The active_plugins option is recorded and can be restored, with a typed confirmation. Note that restoring the list does not run a plugin's own activation or deactivation routines.
In two tables, {prefix}settings_undo_log and {prefix}settings_undo_marks (checkpoints, update markers and notes). Uninstalling the plugin leaves them in place unless "delete data on uninstall" is enabled.
Values larger than 512 KB (serialised) are logged as "too large to store": you can see that the option changed, who changed it and when, but not the values, and they cannot be undone. The cap can be raised with the settings_undo_max_value_size filter.
This version is built and tested for single sites. Network options are not recorded.