Opened 9 years ago
Last modified 4 years ago
#36582 assigned enhancement
Export main query from Customizer preview
Reported by: | westonruter | Owned by: | |
---|---|---|---|
Milestone: | Future Release | Priority: | low |
Severity: | normal | Version: | 4.0 |
Component: | Customize | Keywords: | needs-patch |
Focuses: | javascript | Cc: |
Description (last modified by )
Controls, sections, and panels in the Customizer support the concept of an active state (#27993) which controls whether or not the control is contextual to the current query. Controls may want more information than whether to hide/show, but to show contextual information based on which kind of query is loaded in the Customizer preview, such as if it is_singular
or which post specifically was queried. This information should be exposed from the Customizer preview to the pane as well.
An initial implementation of this has been implemented in the Customize Posts feature plugin: https://github.com/xwp/wp-customize-posts
When the preview syncs the WP_Query
data from the preview to the pane, the data should get sent along with the ready
message along with the activeControls
, activeSections
, and activePanels
data. When the data is received by the pane, it should get populated into a model which can have events attached to it. For example, a wp.customize.Values
instance could be used as a collection to represent the query_vars. Or there could be one single wp.customize.Value
that stores the exported WP_Query
data in like wp.customize.previewedQuery
which plugins could then listen to changes on. For example:
wp.customize.previewedQuery.bind( function( newQuery, oldQuery ) { if ( newQuery.is_singular !== oldQuery.is_singular ) { if ( newQuery.is_singular ) { // We switched to a singular template! } else { // We switched to a non-singular template! } } } );
Some thought will need to be given to how a JavaScript object is used to represent WP_Query
.
See Slack: https://wordpress.slack.com/archives/core-customize/p1461011732000103
Change History (12)
This ticket was mentioned in Slack in #core-customize by westonruter. View the logs.
9 years ago
This ticket was mentioned in Slack in #core by chriscct7. View the logs.
8 years ago
This ticket was mentioned in Slack in #core by voldemortensen. View the logs.
8 years ago
This ticket was mentioned in Slack in #core by jorbin. View the logs.
8 years ago
This ticket was mentioned in Slack in #core-customize by celloexpressions. View the logs.
8 years ago
#11
@
8 years ago
- Milestone changed from 4.7 to Future Release
Plugins such as customize posts can implement this in the meantime as needed.
#12
@
4 years ago
- Focuses javascript added
- Keywords needs-patch added
- Milestone set to Future Release
- Owner westonruter deleted
- Priority changed from normal to low
- Version set to 4.0
This would be a nice improvement to the customize API but appears to be generally low-impact for users since the occasional plugin that needs this can implement the fix.
Punting for now, if a patch comes forth before the deadline it can definitely be moved back to the milestone.