Description
Meta Ledger automatically tracks all post meta changes for posts, custom post types, and WooCommerce products. It stores a versioned history, allows field-level diffs, and provides a restore option. Designed for developers, high-performance, and WordPress standards.
Perfect for tracking product prices, custom fields, metadata changes, and any post meta modifications with complete audit trails.
Key Features
- Automatic Tracking: Hooks into WordPress meta functions to automatically track all meta changes
- Version History: Complete history of all meta changes with timestamps, user information, and action types
- Field-Level Diffs: View side-by-side comparisons of old and new values
- Restore Functionality: Restore any meta field to a previous version with one click
- Source Tracking: See which file and line triggered each meta change, including changes from Meta Ledger UI
- Inline Editing: Edit meta values directly from the admin interface
- REST API: Developer-friendly REST API endpoints for programmatic access
- WP-CLI Support: Command-line tools for viewing and restoring meta versions
- Performance Optimized: Configurable retention policies, batching, and efficient database storage
- WooCommerce Compatible: Works seamlessly with WooCommerce products
Screenshots
Installation
- Upload the
meta-ledgerfolder to/wp-content/plugins/ - Activate the plugin through the ‘Plugins’ menu in WordPress
- The database table will be created automatically on activation
- Navigate to any post, page, or product to see the Meta Ledger meta box
FAQ
-
Which post types are tracked?
-
By default, Meta Ledger tracks posts, pages, and WooCommerce products. You can add more post types in Settings Meta Ledger or using the
meta_ledger_tracked_post_typesfilter. -
How do I ignore certain meta keys?
-
Navigate to Settings Meta Ledger and add meta keys to ignore (one per line). Supports wildcards (e.g.,
_edit_*). You can also use themeta_ledger_ignored_meta_keysfilter. -
Will this slow down my site?
-
Meta Ledger is designed for performance. It uses indexed database queries, batches changes at shutdown, and skips high-frequency meta keys like
_edit_lockby default. The performance impact is minimal. -
How do I restore a previous value?
-
Click on the “ History” tab in the Meta Ledger meta box on any post, then click the restore button next to any version. The restore action is also tracked in history.
-
Can I track changes made from code?
-
Yes! Meta Ledger tracks all changes made through WordPress meta functions (
update_post_meta,add_post_meta,delete_post_meta), regardless of whether they come from code, plugins, themes, or the Meta Ledger UI. -
How do I see where a change came from?
-
Each history entry includes a source button. Click it to see the file path, line number, function name, and full stack trace for code changes. Changes made from Meta Ledger UI are marked as “ Meta Ledger UI” .
-
Can I use this with WooCommerce?
-
Yes! Meta Ledger works seamlessly with WooCommerce products and tracks all product meta changes, including prices, stock, and custom fields.
-
How many versions are kept?
-
By default, 50 versions per meta key are kept. You can adjust this in Settings Meta Ledger under “ History Entries per Meta Key” .
-
Is there a REST API?
-
Yes! The plugin provides REST API endpoints at
/wp-json/meta-ledger/v1/for accessing history and restoring versions programmatically. -
Are there WP-CLI commands?
-
Yes! Use
wp meta-ledger show,wp meta-ledger restore, andwp meta-ledger cleanupcommands for command-line operations.
Reviews
Contributors & Developers
“Meta Ledger – Track, compare, and restore post meta Changes” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Meta Ledger – Track, compare, and restore post meta Changes” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- Settings link on plugins page (links to Meta Ledger settings)
- Fix restore failing when value unchanged or already deleted (
meta_ledger_restore_failed) - View full value: click long old/new values in history to open a popover
- Side-by-side diff view: old vs new values in a diff-checker style popover
- Improved value popover with colored columns (old = red tint, new = green tint)
1.0.0
- Initial release
- Automatic meta tracking for posts, pages, and custom post types
- Version history UI with tabbed interface (Meta Values & History tabs)
- Inline meta editing with add, edit, and delete functionality
- Restore functionality with one-click restore to any previous version
- Source file and line tracking with detailed popover view
- Source tracking for changes made from Meta Ledger UI
- Refresh button on History tab to reload latest changes
- Search and filter functionality for meta keys
- Collapsible history groups organized by meta key
- REST API endpoints for programmatic access (
/wp-json/meta-ledger/v1/) - WP-CLI commands:
show,restore,cleanup - Settings page with post type selection, retention count, and ignored keys
- Performance optimizations with batching and efficient JSON storage
- WooCommerce product support
- Responsive design for all screen sizes
- WordPress coding standards compliance




