WordPress/wp-admin/includes
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
..
admin-filters.php Script Loader: Replace hardcoded output of style tags with calls to `wp_add_inline_style`. 2023-09-25 17:06:34 +00:00
admin.php General: add nonce for block theme preview activation. 2023-07-11 05:03:23 +00:00
ajax-actions.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
bookmark.php Docs: Various improvements in Bookmark Administration API function descriptions, as per docblocks standards. 2023-05-03 10:03:21 +00:00
class-automatic-upgrader-skin.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-bulk-plugin-upgrader-skin.php Code Modernization: Explicitly declare all properties in `WP_Ajax_Upgrader_Skin`. 2022-08-29 12:46:10 +00:00
class-bulk-theme-upgrader-skin.php Code Modernization: Explicitly declare all properties in `WP_Ajax_Upgrader_Skin`. 2022-08-29 12:46:10 +00:00
class-bulk-upgrader-skin.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
class-core-upgrader.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 19:52:24 +00:00
class-custom-background.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
class-custom-image-header.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
class-file-upload-upgrader.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-ftp-pure.php Docs: Update URLs in some `@link` tags and switch them to HTTPS. 2019-11-01 14:57:02 +00:00
class-ftp-sockets.php Administration: Replace contracted verb forms for better consistency. 2022-03-22 16:25:03 +00:00
class-ftp.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-language-pack-upgrader-skin.php Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_Upgrader_Skin::error()`. 2021-09-09 13:59:56 +00:00
class-language-pack-upgrader.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
class-pclzip.php Docs: Fix a few more typos in DocBlocks and inline comments. 2023-05-19 13:27:20 +00:00
class-plugin-installer-skin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-plugin-upgrader-skin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-plugin-upgrader.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
class-theme-installer-skin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-theme-upgrader-skin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-theme-upgrader.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
class-walker-category-checklist.php Docs: Wrap inline `@see` tags in curly braces. 2023-08-24 09:01:16 +00:00
class-walker-nav-menu-checklist.php Coding Standards: Remove superfluous blank lines at the end of various classes. 2023-09-08 09:32:23 +00:00
class-walker-nav-menu-edit.php Coding Standards: Restore more descriptive variable names in a few class methods. 2023-09-14 12:46:20 +00:00
class-wp-ajax-upgrader-skin.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-wp-application-passwords-list-table.php Docs: A host of corrections and improvements to inline documentation. 2023-05-08 22:37:24 +00:00
class-wp-automatic-updater.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
class-wp-comments-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-community-events.php Coding Standards: Include one space after `function` keyword for closures. 2023-09-12 15:23:18 +00:00
class-wp-debug-data.php Site Health: Show correct debug value for file uploads. 2023-09-02 18:36:24 +00:00
class-wp-filesystem-base.php Coding Standards: Remove superfluous blank lines at the end of various functions. 2023-09-08 10:03:21 +00:00
class-wp-filesystem-direct.php Filesystem API: Correct and improve the return type documentation for the `dirlist()` method in `WP_Filesystem_Base` and its extending classes. 2023-05-03 21:30:19 +00:00
class-wp-filesystem-ftpext.php Filesystem API: Correct and improve the return type documentation for the `dirlist()` method in `WP_Filesystem_Base` and its extending classes. 2023-05-03 21:30:19 +00:00
class-wp-filesystem-ftpsockets.php Filesystem API: Correct and improve the return type documentation for the `dirlist()` method in `WP_Filesystem_Base` and its extending classes. 2023-05-03 21:30:19 +00:00
class-wp-filesystem-ssh2.php Filesystem API: Define password as `null` if not set when using SSH2 with public/private keys. 2023-06-29 17:05:30 +00:00
class-wp-importer.php Coding Standards: Use strict comparison in `wp-admin/includes/class-wp-importer.php`. 2023-08-14 09:59:20 +00:00
class-wp-internal-pointers.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 12:57:20 +00:00
class-wp-links-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-list-table-compat.php Docs: Add missing descriptions for `_WP_List_Table_Compat` methods. 2020-11-14 16:54:08 +00:00
class-wp-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-media-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-ms-sites-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-ms-themes-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-ms-users-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-plugin-install-list-table.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
class-wp-plugins-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-post-comments-list-table.php Administration: Remove private delegation from list tables. 2022-10-04 03:47:15 +00:00
class-wp-posts-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-privacy-data-export-requests-list-table.php Privacy: Fix "Retry" action after a personal data export failure. 2022-03-10 19:22:01 +00:00
class-wp-privacy-data-removal-requests-list-table.php Coding Standards: Remove superfluous blank lines at the end of various classes. 2023-09-08 09:32:23 +00:00
class-wp-privacy-policy-content.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
class-wp-privacy-requests-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-screen.php Code Modernization: Replace usage of `substr()` with `str_starts_with()` and `str_ends_with()`. 2023-06-22 14:57:24 +00:00
class-wp-site-health-auto-updates.php Coding Standards: Upgrade WPCS to version 3.0.0. 2023-09-26 00:27:12 +00:00
class-wp-site-health.php Security: remove the cron event that checked for https support. 2023-09-22 19:08:19 +00:00
class-wp-site-icon.php Coding Standards: Use strict comparison in `wp-admin/includes/class-wp-site-icon.php`. 2023-04-23 04:02:18 +00:00
class-wp-terms-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
class-wp-theme-install-list-table.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-wp-themes-list-table.php Docs: A host of corrections and improvements to inline documentation. 2023-05-08 22:37:24 +00:00
class-wp-upgrader-skin.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-wp-upgrader-skins.php Docs: Add missing `@deprecated` tags in the file docblock of some deprecated files. 2019-10-08 17:19:04 +00:00
class-wp-upgrader.php Upgrade/Install: Fix broken `sprintf()` call when deleting a backup. 2023-09-10 07:33:22 +00:00
class-wp-users-list-table.php Administration: Switch order of label/checkbox in `WP_List_Table`. 2023-09-22 19:58:16 +00:00
comment.php Docs: Use third-person singular verbs for function descriptions in `wp-admin/includes/comment.php`, as per docblocks standards. 2022-07-20 22:15:10 +00:00
continents-cities.php I18N: Update list of continents and cities for the timezone selection. 2022-09-19 23:24:11 +00:00
credits.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
dashboard.php Administration: Add event type to Events and News widget. 2023-09-26 03:54:20 +00:00
deprecated.php Properly deprecate both constructors in `WP_User_Search`. 2023-08-25 03:37:12 +00:00
edit-tag-messages.php Docs: Various inline documentation corrections and improvements. 2021-12-07 12:20:02 +00:00
export.php General: Replace some instances of "blog" with "site" in documentation, translator comments, and user-facing text strings. 2023-06-19 18:27:27 +00:00
file.php Filesystem API: Introduce filters for before/after unzipping archives. 2023-09-25 22:16:17 +00:00
image-edit.php Coding Standards: Remove unused variable `el` in monitorPopup. 2023-09-21 18:04:16 +00:00
image.php Coding Standards: Upgrade WPCS to version 3.0.0. 2023-09-26 00:27:12 +00:00
import.php Docs: Various docblock improvements in Importer Administration API, as per docs standards. 2022-07-29 09:22:10 +00:00
list-table.php Administration: Remove private delegation from list tables. 2022-10-04 03:47:15 +00:00
media.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
menu.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
meta-boxes.php Administration: Use `wp_admin_notice()` in `/wp-admin/includes`. 2023-09-14 01:13:20 +00:00
misc.php Login and Registration: Improve HTML for errors and notices. 2023-09-21 18:24:15 +00:00
ms-admin-filters.php Networks and Sites: Officially remove global terms. 2022-09-20 02:51:09 +00:00
ms-deprecated.php Networks and Sites: Officially remove global terms. 2022-09-20 02:51:09 +00:00
ms.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
nav-menu.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
network.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
noop.php Themes: Fix fatal error in `load-styles.php`. 2023-09-21 01:27:26 +00:00
options.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:07:22 +00:00
plugin-install.php Administration: Use `wp_admin_notice()` in `/wp-admin/includes`. 2023-09-14 01:13:20 +00:00
plugin.php Administration: Use `wp_admin_notice()` in `/wp-admin/includes`. 2023-09-14 01:13:20 +00:00
post.php Revisions: framework for storing post meta revisions. 2023-09-26 15:32:19 +00:00
privacy-tools.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
revision.php Coding Standards: Remove superfluous blank lines at the end of various functions. 2023-09-08 10:03:21 +00:00
schema.php Media: Disable attachment pages for new installations. 2023-09-22 00:04:41 +00:00
screen.php Coding Standards: Use strict comparison in `wp-admin/includes/screen.php`. 2021-05-09 20:27:02 +00:00
taxonomy.php Coding Standards: Use strict comparison in `wp-admin/includes/taxonomy.php`. 2023-03-10 07:04:20 +00:00
template.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
theme-install.php Coding Standards: Remove superfluous blank lines at the end of various functions. 2023-09-08 10:03:21 +00:00
theme.php Administration: Improve control proximity in theme details modal. 2023-09-20 21:03:20 +00:00
translation-install.php Coding Standards: Always use parentheses when instantiating an object. 2022-11-29 15:51:14 +00:00
update-core.php Coding Standards: Include one space after `function` keyword for closures. 2023-09-12 15:23:18 +00:00
update.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
upgrade.php Security: remove the cron event that checked for https support. 2023-09-22 19:08:19 +00:00
user.php Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`. 2023-09-17 15:23:22 +00:00
widgets.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00