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