[wp-trac] [WordPress Trac] #20564: Framework for storing revisions of Post Meta

WordPress Trac noreply at wordpress.org
Tue Sep 26 15:30:50 UTC 2023


#20564: Framework for storing revisions of Post Meta
-------------------------------------------------+-------------------------
 Reporter:  alexkingorg                          |       Owner:
                                                 |  adamsilverstein
     Type:  enhancement                          |      Status:  closed
 Priority:  normal                               |   Milestone:  6.4
Component:  Revisions                            |     Version:  3.4
 Severity:  normal                               |  Resolution:  fixed
 Keywords:  has-patch commit needs-dev-note      |     Focuses:
  has-unit-tests                                 |
-------------------------------------------------+-------------------------
Changes (by adamsilverstein):

 * status:  assigned => closed
 * resolution:   => fixed


Comment:

 In [changeset:"56714" 56714]:
 {{{
 #!CommitTicketReference repository="" revision="56714"
 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.
 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/20564#comment:191>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list