Customize component

The Customize component covers all aspects of the Customizer, WordPress’ framework for live-previewing any change to your site. Tickets in this component cover issues including bugs in the Customizer (wp-admin/customize.php), PHP and JS API improvements, UI/UX changes, new features, and improvements to the Customizer internals. For more information about the Customizer API, please see its official documentation in the Theme Developer Handbook.

The Customizer is actively developed, with work happening on core Trac, various GitHub repos, and in the #core-customize channel on WordPress Slack. Weekly meetings for the 4.9 cycle are held on Mondays at 17:00UTC. New contributors are always welcome, whether you bring code, design help, testing, or anything else. Below is a summary of our larger projects past and future projects, which were all accompanied by countless smaller changes.

Projects for Future Releases

  • A new experience for themes in the customizer#37661 – ready for trunk commit
  • Expose UI for drafts, scheduled changes, and revisions of customize changesets
  • Improve loading of the Customizer from the front-end (on hold, see #28602, #28661)
  • Introduce inline editing/inline controls within the preview
  • Explore content-editing/front-end-editing integration (on hold, pending Gutenberg)
  • Improve performance wherever possible (ongoing goal)

For more details, see the proposed roadmap.

Feature Plugins

These plugins container implement features that may be incorporated into core in the future, as was done previously with Widget Customizer and Menu Customizer:

Completed Milestone Highlights

  1. 4.8
  2. 4.7
  3. 4.6
  4. 4.5
  5. 4.4
    • Performance Improvements
  6. 4.3
  7. 4.2
  8. 4.1
  9. 4.0
  10. 3.9
  11. 3.4
    • Customizer Introduced in Core

Recent posts on the make/core blog

View all posts tagged customize.

Recent posts on the make/test blog

View all posts tagged customize.

183 open tickets in the Customize component

183 open tickets defect (bug) enhancement feature request task (blessed)
4.9 13 14 1 0
Awaiting Review 32 21 2 0
Future Release 33 60 5 2

183 open tickets. Last 7 days: -5 tickets

7 tickets that have no replies

View list on Trac

  • #38957  Customize Menus: Menu locations should be able to opt-out of menu item types that can be added to associated menus
  • #39913  Customize: Disable auto-trashing of published changesets in anticipation of revisions
  • #40044  A little strange logic in get_header_video_url() function
  • #40831  Customize: Further improve JS inline documentation docs
  • #41850  Customize: Prevent panel sticky headers when scrolling if description is expanded
  • #41897  Code Editor: Add reusable code editor Customizer control
  • #41900  Code Editor: Cursor jumps to end of file upon focus in the "contenteditable" inputStyle for CodeMirror in Additional CSS accessibility

28 tickets slated for 4.9

View list in Trac

  • #28721  Scheduled changes for the customizer
  • #30738  JS content templates for base WP_Customize_Control accessibility javascript rest-api
  • #32816  No or inadequate Custom Link URL validation ui javascript
  • #33085  Customizer: controls description inside labels are not real labels nor descriptions ui accessibility
  • #34843  Customizer: allow themes in the Customizer to be disabled by plugins
  • #35827  Customizer: Create a dropzone for adding images ui javascript
  • #36191  Support responsive images in WP_Customize_Media_Control ui administration
  • #36441  Customizer: when setting header image, site icon and logo, do not force the user to crop the image if cropping is not required
  • #37661  A New Experience for Discovering, Installing, and Previewing Themes in the Customizer ui accessibility javascript
  • #37964  Allow customizer controls to be encapsulated by accepting pre-instantiated settings javascript
  • #38666  Reassure users when the customizer is doing a full reload ui
  • #38707  Customizer: Additional CSS highlight, revisions, selection, per-page, pop-out
  • #39099  Customize: Defer triggering selective refresh for all settings until after synced
  • #39128  Customize: Preview fails to load when domain mapping in use (home/siteurl domain mismatch)
  • #39254  When in Customizer Preview, starter content posts are not displayed in the loop administration template
  • #39275  Improve for changesets. javascript
  • #39461  default-preset option for custom background cannot be set by default
  • #39896  Customizer: Allow users to Draft changes before Publishing ui
  • #39930  Adding documentation for wp.customize properties javascript docs
  • #40104  Customizer: Improve menu creation flow ui administration
  • #40199  Customize: collapse suggested and previously uploaded header images with accordions ui
  • #40527  Decouple WP_Customize_Manager
  • #40922  Use finer-grained capabilities with `customize_changeset` post type
  • #41614  Customizer: Improve small-screen styles in Widgets panel ui
  • #41850  Customize: Prevent panel sticky headers when scrolling if description is expanded
  • #41872  Code Editor: Minor accessibility improvements to the CodeMirror editing areas ui accessibility administration
  • #41897  Code Editor: Add reusable code editor Customizer control
  • #41900  Code Editor: Cursor jumps to end of file upon focus in the "contenteditable" inputStyle for CodeMirror in Additional CSS accessibility

183 open tickets

Open bugs: 78. View list on Trac

Help maintain this component

Component maintainers:

Many contributors help maintain one or more components. These maintainers are vital to keeping WordPress development running as smoothly as possible. They triage new tickets, look after existing ones, spearhead or mentor tasks, pitch new ideas, curate roadmaps, and provide feedback to other contributors. Longtime maintainers with a deep understanding of particular areas of core are always seeking to mentor others to impart their knowledge.

Want to help? Start following this component! Adjust your notifications here. Feel free to dig into any ticket.

Contributors following this component: