Customize: Introduce drafting and scheduling for Customizer changesets.
- Incorporates code from the Customize Snapshots and Customize Posts feature plugins.
- Adds a new Publish Settings section for managing the changeset status, scheduled date, and frontend preview link.
- Updates Publish button to reflect the status selected in the Publish Settings (including Save Draft and Schedule).
- Deactivates the Themes section when a non-publish status selected, and deactivates the Publish Settings section when previewing a theme switch.
- Introduces an
outer
section type (wp.customize.OuterSection
in JS) for the Publish Settings section to use and for available widgets and available nav menu panels to use in the future. These sections can be expanded while other sections are expanded.
- Introduces
WP_Customize_Date_Time_Control
in PHP and wp.customize.DateTimeControl
in JS for managing a date/time value.
- Keeps track of scheduled time and proactively publish from the client when the time arrives, as opposed to waiting for WP Cron.
- Auto-publishes a scheduled changeset when attempting to access one that missed its schedule.
- Starts a new changeset if attempting to save a changeset that was previously publish.
- Adds
force
arg to requestChangesetUpdate()
to force an update request even when there are no pending changes.
- Adds utils methods for
getCurrentTimestamp
and getRemainingTime
.
- Adds new state values for
selectedChangesetStatus
, changesetDate
, selectedChangesetDate
.
- Fixes logic for when to short-circuit check to close Customizer when there are unsaved changes.
- Adds getter methods for
autosaved
and branching
parameters, with the latter applying the customize_changeset_branching
filter.
- Call to
establish_loaded_changeset
on the fly when changeset_uuid()
is called if no changeset UUID was specififed.
- De-duplicates logic for dismissing auto-draft changesets.
- Includes unit tests.
Builds on [41597].
Props sayedwp, westonruter, melchoyce, JoshuaWold, folletto, stubgo, karmatosed, dlh, paaljoachim, afercia, johnregan3, utkarshpatel, valendesigns.
See #30937.
Fixes #39896, #28721, #39275.