
Adds a Customizer control to select one or multiple posts (and eventually terms and users).
This plugin adds a Customizer control to select one or multiple posts (and eventually terms and users).
Core has long had a dropdown-pages control type which is used in the static front page section for the “page on front” and “page for posts” controls. There is a problem with this control however: it outputs the entire tree of pages for every registered instance of the control. For sites that have a lot of pages, this can introduce a performance problem to generate this full list, not only once, but twice for the two controls. This plugin upgrades the “page on front” and “page for posts” controls to instead make use of the Customize Object Selector control, not only allowing for the list of pages to be loaded via Ajax on demand but also for the list to be searched.
When the Customize Posts plugin is active, buttons will appear after the Select2 control to be able to create new posts to add to the selection. The Customize Object Selector will also power the post parent control. See wp-customize-posts#233.
This plugin also includes a reusable JavaScript component available at wp.customize.ObjectSelectorComponent which can be used in widgets or other locations.
For an example integration with widgets, see the Post Collection widget.
For an example integration with the Customize Posts plugin, see pending usage as the Post Parent control.
Development of this plugin is done on GitHub. Pull requests welcome. Please see issues reported there before going to the plugin forum.
ObjectSelectorControl to allow passing options without options.params.z-index in CSS rule for Select2 dropdown for compatibility with conflicting rule in Shortcake.LIKE to be used in meta queries for object selector searches. See #32customize_object_selector_result filter.See issues and PRs in milestone and full release commit log.
Props Weston Ruter (@westonruter), Sayed Taqui (@sayedwp.
wp.customize.Posts.startEditPostFlow(). See #8, PR #12.customize_object_selector_post_query_vars filter. See PR #25.See issues and PRs in milestone and full release commit log.
Props Miina Sikk (@miina), Weston Ruter (@westonruter), Derek Herman (@valendesigns), Sayed Taqui (@sayedwp.
Added:
wp_dropdown_pages(). The options for a dropdown are fetched via a call to get_pages(), and these dropdown options are displayed when no search is entered and show_initial_dropdown: true is passed among the post_query_vars. The arguments for wp_dropdown_pages() can then be passed via the dropdown_args query var.page_on_front and page_for_posts controls with object selector controls emulating wp_dropdown_pages().show_add_buttons to control whether or not the add buttons are shown (if Customize Posts is active).setupAddNewButtons in favor of re-using startCreatePostFlow code now in Customize Posts 0.8.0. This sets the initial placeholder title for created posts and navigate to url in preview.page_on_front and page_for_posts from being set the same.Fixed:
post_query_args to post_query_vars in PHP.post__in from causing posts_per_page to be set too early.Initial release of fork from Customizer Ajax Select.