WordPress/wp-admin
Adam Silverstein 89a99dba2f Revisions: framework for storing post meta revisions.
Enable the storing of post meta in revisions including autosaves and previews:

Add a new argument `revisions_enabled` to the `register_meta` function which enables storing meta in revisions.

Add a new `wp_post_revision_meta_keys` filter which developers can use to control which meta is revisioned - it passes an array of the meta keys with revisions enabled as well as the post type.

Meta keys with revisions enabled are also stored for autosaves, and are restored when a revision or autosave is restored. In addition, meta values are now stored with the autosave revision used for previews. Changes to meta can now be previewed correctly without overwriting the published meta (see #20299) or passing data as a query variable, as the editor currently does to preview changes to the featured image.

Changes to meta with revisions enabled are considered when determining if a new revision should be created. A new revision is created if the meta value has changed since the last revision.

Revisions are now saved on the `wp_after_insert_post` hook instead of `post_updated`. The `wp_after_insert_post` action is fired after post meta has been saved by the REST API which enables attaching meta to the revision. To ensure backwards compatibility with existing action uses, `wp_save_post_revision_on_insert` function exits early if plugins have removed the previous `do_action( 'post_updated', 'wp_save_post_revision' )` call.

Props: alexkingorg, johnbillion, markjaquith, WraithKenny, kovshenin, azaozz, tv-productions, p51labs, mattheu, mikeschroder, Mamaduka, ellatrix, timothyblynjacobs, jakemgold, bookwyrm, ryanduff, mintindeed, wonderboymusic, sanchothefat, westonruter, spacedmonkey, hellofromTonya, drewapicture, adamsilverstein, swisspiddy.
Fixes #20564, #20299.



Built from https://develop.svn.wordpress.org/trunk@56714


git-svn-id: http://core.svn.wordpress.org/trunk@56226 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-26 15:32:19 +00:00
..
css Quick/Bulk Edit: Pre-fill category fields with their status. 2023-09-26 15:05:21 +00:00
images Help/About: Updates to About page. 2023-07-24 23:39:22 +00:00
includes Revisions: framework for storing post meta revisions. 2023-09-26 15:32:19 +00:00
js Quick/Bulk Edit: Pre-fill category fields with their status. 2023-09-26 15:05:21 +00:00
maint Code Modernization: Use `dirname()` with the `$levels` parameter. 2023-09-11 04:53:22 +00:00
network Administration: Use `wp_admin_notice()` in `wp-admin/network/`. 2023-09-17 19:12:21 +00:00
user Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
about.php Help/About: Add images to About page, match header style to images. 2023-08-01 15:04:22 +00:00
admin-ajax.php Coding Standards: Remove extra space in `wp-admin/admin-ajax.php`. 2022-05-07 16:21:18 +00:00
admin-footer.php Coding Standards: Simplify a condition in `wp-admin/admin-footer.php`. 2021-06-01 11:30:57 +00:00
admin-functions.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
admin-header.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 14:08:18 +00:00
admin-post.php Administration: Require a valid action parameter to be set for `admin-ajax.php` requests. 2022-03-02 15:00:11 +00:00
admin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 14:08:18 +00:00
async-upload.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
authorize-application.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
comment.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
contribute.php Help/About: Escape "Contribute" links, for better consistency. 2023-08-01 12:58:22 +00:00
credits.php Help/About: Escape "Contribute" links, for better consistency. 2023-08-01 12:58:22 +00:00
custom-background.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
custom-header.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
customize.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 14:08:18 +00:00
edit-comments.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
edit-form-advanced.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
edit-form-blocks.php Editor: Add missing parameter to the `block_editor_no_javascript_message` filter after [56672]. 2023-09-25 10:02:22 +00:00
edit-form-comment.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
edit-link-form.php Administration: Use `wp_admin_notice()` for `.updated`. 2023-09-14 02:15:17 +00:00
edit-tag-form.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
edit-tags.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
edit.php Posts: update admin notices to refer to patterns. 2023-09-18 07:04:19 +00:00
erase-personal-data.php Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
export-personal-data.php Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
export.php Coding Standards: Escape the whole attribute in `wp-admin/export.php`. 2023-09-20 09:47:18 +00:00
freedoms.php Help/About: Updates to About page. 2023-07-24 23:39:22 +00:00
import.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
index.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
install-helper.php Docs: Fix typo and improve DocBlock formatting in `wp-admin/install-helper.php`. 2022-11-20 14:10:15 +00:00
install.php Upgrade/Install: Add aria-describedby for input descriptions. 2023-06-25 18:44:23 +00:00
link-add.php Docs: Add a comment about the `$title` global usage in various admin files. 2021-07-22 13:53:00 +00:00
link-manager.php Administration: Use `wp_admin_notice()` for `.updated`. 2023-09-14 02:15:17 +00:00
link-parse-opml.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 14:08:18 +00:00
link.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
load-scripts.php Docs: Update a comment in `wp-admin/load-styles.php` per the documentation standards. 2021-12-12 14:52:02 +00:00
load-styles.php Database: Replace `str_contains()` and `str_ends_with()` usage in `wpdb` methods. 2023-06-23 12:17:24 +00:00
media-new.php Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
media-upload.php Coding Standards: Remove superfluous blank lines at the end of various files. 2023-09-07 14:59:21 +00:00
media.php Media: Redirect deprecated `wp-admin/media.php` file. 2023-06-19 23:20:21 +00:00
menu-header.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 19:56:23 +00:00
menu.php Coding Standards: Fix a few newly introduced WPCS issues. 2023-09-17 02:10:17 +00:00
moderation.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
ms-admin.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
ms-delete-site.php Text Changes: Improve the wording of the email sent to confirm site deletion. 2022-11-14 21:57:10 +00:00
ms-edit.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
ms-options.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
ms-sites.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
ms-themes.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
ms-upgrade-network.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
ms-users.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
my-sites.php Administration: Add improved context for `add new` links. 2023-09-05 19:26:26 +00:00
nav-menus.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
network.php Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
options-discussion.php Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
options-general.php Coding Standards: Fix a few newly introduced WPCS issues. 2023-09-25 15:36:18 +00:00
options-head.php Administration: Replace legacy `updated` message type in `add_settings_error()` calls with `success`. 2019-08-16 00:39:55 +00:00
options-media.php Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
options-permalink.php Code Modernization: Replace usage of `strpos()` with `str_starts_with()`. 2023-05-02 15:45:22 +00:00
options-privacy.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
options-reading.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
options-writing.php Administration: Hide password in options/writing. 2023-06-22 00:32:21 +00:00
options.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
plugin-editor.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
plugin-install.php Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
plugins.php Coding Standards: Upgrade WPCS to version 3.0.0. 2023-09-26 00:27:12 +00:00
post-new.php Coding Standards: Use strict comparison where static strings are involved. 2020-05-16 18:42:12 +00:00
post.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
press-this.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
privacy-policy-guide.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
privacy.php Help/About: Updates to About page. 2023-07-24 23:39:22 +00:00
profile.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
revision.php Revisions: Add missing escaping function for `$post_edit_link` in `wp-admin/revision.php`. 2023-08-24 09:32:21 +00:00
setup-config.php Upgrade/Install: Show/hide toggle on password fields. 2023-06-23 23:09:29 +00:00
site-editor.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
site-health-info.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
site-health.php Administration: Use `wp_admin_notice()` in `/wp-admin/`. 2023-09-14 00:54:19 +00:00
term.php General: Replace all `esc_url_raw()` calls in core with `sanitize_url()`. 2022-06-01 18:14:10 +00:00
theme-editor.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
theme-install.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
themes.php Administration: Improve control proximity in theme details modal. 2023-09-20 21:03:20 +00:00
tools.php Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
update-core.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
update.php Coding Standards: Replace `include_once` with `require_once` for required files. 2023-04-09 11:57:22 +00:00
upgrade-functions.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
upgrade.php Upgrade/Install: Add missing escaping function for `get_option( 'home' )` in `upgrade.php`. 2023-08-25 05:44:16 +00:00
upload.php Administration: Remove duplicate `wp_admin_notice()` call. 2023-09-22 18:19:19 +00:00
user-edit.php Coding Standards: Fix a few newly introduced WPCS issues. 2023-09-25 15:36:18 +00:00
user-new.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
users.php Administration: Use `wp_admin_notice()` more in `wp-admin/`. 2023-09-17 15:33:17 +00:00
widgets-form-blocks.php Widgets: Add missing no JS notice in Widgets screen. 2023-09-25 00:00:17 +00:00
widgets-form.php Administration: Use `wp_admin_notice()` for `.updated`. 2023-09-14 02:15:17 +00:00
widgets.php Administration: Replace contracted verb forms for better consistency. 2022-03-22 19:59:04 +00:00