[wp-trac] [WordPress Trac] #30737: JS templates for Customizer Panels and Sections

WordPress Trac noreply at wordpress.org
Wed Jan 21 00:43:53 UTC 2015

#30737: JS templates for Customizer Panels and Sections
 Reporter:  celloexpressions  |       Owner:
     Type:  enhancement       |      Status:  new
 Priority:  high              |   Milestone:  4.2
Component:  Customize         |     Version:  4.1
 Severity:  normal            |  Resolution:
 Keywords:  has-patch         |     Focuses:

Comment (by westonruter):

 What about adding to the QUnit tests to check that the new methods work as

 Nevermind that we currently don't have any PHPUnit tests at all for
 `WP_Customize_Manager` or `WP_Customize_Control` ;-P

 Also, in the case where a panel/section/control's `check_capabilities()`
 returns `false` resulting in the `json()` method returning `null`, how
 will this affect `_wpCustomizeSettings` in `customize.php` which is passed
 into the JS boot logic? There will be panels/sections/controls in that are

 From looking at `customize-controls.js`, it seems it would try to pass
 `null` into the constructor, and it would even throw a `Null is not an
 object` error when attempting `api.panelConstructor[ data.type ]`. See

 Should the logic instead be moved to `customize.php`, for instance:

         // Prepare Customize Control objects to pass to JavaScript.
         foreach ( $wp_customize->controls() as $id => $control ) {
                 if ( $control->check_capabilities() ) { // this
 conditional added
                         $settings['controls'][ $id ] = $control->json();

 Really, however, that whole blob of logic in `customize.php` should be
 moved to a new method on `WP_Customize_Manager`, like

Ticket URL: <https://core.trac.wordpress.org/ticket/30737#comment:10>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform

More information about the wp-trac mailing list