Make WordPress Core

Opened 9 years ago

Closed 9 years ago

#38400 closed defect (bug) (fixed)

Twenty Seventeen: Add theme support for customize selective refresh widgets

Reported by: celloexpressions's profile celloexpressions Owned by: davidakennedy's profile davidakennedy
Milestone: 4.7 Priority: normal
Severity: normal Version:
Component: Bundled Theme Keywords: has-patch has-screenshots
Focuses: Cc:

Description

Literally every new theme needs to have this one line:

add_theme_support( 'customize_selective_refresh_widgets' );

Apparently that's missing from whatever base this theme was started from, so add it there right away also. Then, adjust as needed for any JS-based widget layouts like masonry (see Twenty Thirteen for an example). The UX improvement of this change is massive.

Attachments (3)

38400.before.gif (3.9 MB) - added by celloexpressions 9 years ago.
Before
38400.after.gif (7.3 MB) - added by celloexpressions 9 years ago.
With forthcoming patch.
38400.diff (576 bytes) - added by celloexpressions 9 years ago.

Change History (6)

#1 @karmatosed
9 years ago

Discussion here: https://github.com/WordPress/twentyseventeen/issues/346 - moved over to trac after merge, so lets continue discussion here not on GitHub.

@celloexpressions
9 years ago

Before

@celloexpressions
9 years ago

With forthcoming patch.

#2 @celloexpressions
9 years ago

  • Keywords has-patch has-screenshots added; needs-patch removed

With 38400.diff the customizer preview no longer reloads for every new widget or widget reorder. It only reloads when the first widget is added to an area. This provides a much faster, more contextual experience for users.

Apologies for the size of the gifs, I picked bad widgets to demo this with quickly.

#3 @davidakennedy
9 years ago

  • Owner set to davidakennedy
  • Resolution set to fixed
  • Status changed from new to closed

In 38867:

Twenty Seventeen: Add theme support for customize selective refresh widgets

Props celloexpressions.

Fixes #38400.

Note: See TracTickets for help on using tickets.