This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Customize Partial Refresh


This is a feature plugin for WordPress 4.5

Please read the Make Core post: Selective Refresh in the Customizer.

Development of this plugin is done on GitHub. Pull requests welcome. Please see issues reported there before going to the plugin forum.


Read all 0 reviews

Contributors & Developers

“Customize Partial Refresh” is open source software. The following people have contributed to this plugin.




  • Short-circuit plugin if Selective Refresh feature has been merged into core. See #27355.
  • Add more unit tests.


Fix Jetpack plugin support to use new container event property.


  • Introduce formalized Placement JS construct.
  • Add sidebar-updated event.
  • Add support for Twenty Thirteen theme’s Masonry-built sidebar.
  • Update JS namespace to wp.customize.selectiveRefresh, with JS objects and events using this as root.
  • Rename WidgetInstance to Widget and WidgetArea to Sidebar.
  • Flesh out more PHPUnit tests and add foundations for QUnit tests.
  • Always include the data-customize-partial-id attr selector
  • See all changes: 0.5.4…0.6.0


  • Trigger partial-content-rendered on nested partials’ containers when parent is refreshed.
  • Jetpack: Restrict adding partials to infinity scroll container on post-load.


  • Capture errors triggered during partial rendering, preventing them from displaying inline which can cause the containers to be corrupted and break subsequent updates. If WP_DEBUG_DISPLAY is enabled, the errors will be added to the console as warnings.
  • Also add initial support for Jetpack’s Facebook Page widget.


  • Fix position of widget in sidebar if a widget_instance partial container is inserted prior to an refresh.
  • Only sort the DOM if the order has changed, to improve performance.
  • Introduce getWidgetIds and reflowWidgets methods for widget area partial.
  • Introduce partial-content-moved event when a widget is re-ordered.
  • Add support for Jetpack’s Twitter Timeline and Contact Info widgets.


  • Fix broken Ajax in preview by adding missing script dependency for wp-util.
  • Add support for plugin loaded via theme (on
  • Ensure that dynamic_sidebar_params filter applies during partials render request.
  • Remove unnecessary is_registered_sidebar() which broke nested sidebar stack


Complete rewrite utilizing new selective/partial refresh framework. Selective refreshing of nav menus (in core) and widgets (in this plugin) were rewritten to make use of the new framework. Documentation forthcoming.


  • Fix PHP 5.2 compatibility.
  • Fix support for subdirectory installs.


  • Fix typo causing twentyten, twentyeleven, and twentytwelve not being enabled for widget partial refresh.


  • Remove partial refresh functionality since it is now moved over to Menu Customizer directly.


  • Add integration for Menu Customizer.
  • See all changes: 0.3…0.4


  • Use trigger_error instead of error_log; do nothing on WPCOM
  • Introduce widgetsExcludedForPostMessage stop gap
  • Communicate to pane all widgets rendered, not just main one
  • See all changes: 0.2…0.3


  • Fix partial refresh during theme preview (PR #9)
  • Eliminate remaining direct calls to parent window, use postMessage only (PR #8)
  • Allow inactive widgets to be rendered if sidebar is specified (PR #10)
  • Add initial support for plugins to support custom sidebars
  • Various other fixes and hardening, see 0.1…0.2.


  • Resurrect Widget Customizer partial refreshes.