Customizer: Introduce `customize_loaded_components` filter to allow core components to be disabled.

Also move style rule from `customize-nav-menus.css` to `customize-controls.css` so that widgets button is properly styled when `nav_menus` component is excluded from loading. See [35304]. See #33327.

Props westonruter, DrewAPicture.
Fixes #33552.

Built from https://develop.svn.wordpress.org/trunk@35307


git-svn-id: http://core.svn.wordpress.org/trunk@35273 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Weston Ruter 2015-10-20 22:16:25 +00:00
parent 3451251548
commit bee05e0cdc
10 changed files with 54 additions and 33 deletions

View File

@ -3,6 +3,18 @@ body {
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
} }
button.not-a-button {
background: transparent;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-border-radius: 0;
border-radius: 0;
outline: 0;
padding: 0;
margin: 0;
}
#customize-controls a { #customize-controls a {
text-decoration: none; text-decoration: none;
} }

File diff suppressed because one or more lines are too long

View File

@ -3,6 +3,18 @@ body {
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
} }
button.not-a-button {
background: transparent;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-border-radius: 0;
border-radius: 0;
outline: 0;
padding: 0;
margin: 0;
}
#customize-controls a { #customize-controls a {
text-decoration: none; text-decoration: none;
} }

File diff suppressed because one or more lines are too long

View File

@ -612,18 +612,6 @@
background: transparent; background: transparent;
} }
button.not-a-button {
background: transparent;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-border-radius: 0;
border-radius: 0;
outline: 0;
padding: 0;
margin: 0;
}
#available-menu-items .accordion-section-title button { #available-menu-items .accordion-section-title button {
display: block; display: block;
width: 28px; width: 28px;

File diff suppressed because one or more lines are too long

View File

@ -612,18 +612,6 @@
background: transparent; background: transparent;
} }
button.not-a-button {
background: transparent;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-border-radius: 0;
border-radius: 0;
outline: 0;
padding: 0;
margin: 0;
}
#available-menu-items .accordion-section-title button { #available-menu-items .accordion-section-title button {
display: block; display: block;
width: 28px; width: 28px;

File diff suppressed because one or more lines are too long

View File

@ -191,11 +191,32 @@ final class WP_Customize_Manager {
require_once( ABSPATH . WPINC . '/class-wp-customize-panel.php' ); require_once( ABSPATH . WPINC . '/class-wp-customize-panel.php' );
require_once( ABSPATH . WPINC . '/class-wp-customize-section.php' ); require_once( ABSPATH . WPINC . '/class-wp-customize-section.php' );
require_once( ABSPATH . WPINC . '/class-wp-customize-control.php' ); require_once( ABSPATH . WPINC . '/class-wp-customize-control.php' );
require_once( ABSPATH . WPINC . '/class-wp-customize-widgets.php' );
require_once( ABSPATH . WPINC . '/class-wp-customize-nav-menus.php' );
/**
* Filter the core Customizer components to load.
*
* This allows Core components to be excluded from being instantiated by
* filtering them out of the array. Note that this filter generally runs
* during the <code>plugins_loaded</code> action, so it cannot be added
* in a theme.
*
* @since 4.4.0
*
* @see WP_Customize_Manager::__construct()
*
* @param array $components List of core components to load.
* @param WP_Customize_Manager $this WP_Customize_Manager instance.
*/
$components = apply_filters( 'customize_loaded_components', array( 'widgets', 'nav_menus' ), $this );
if ( in_array( 'widgets', $components ) ) {
require_once( ABSPATH . WPINC . '/class-wp-customize-widgets.php' );
$this->widgets = new WP_Customize_Widgets( $this ); $this->widgets = new WP_Customize_Widgets( $this );
}
if ( in_array( 'nav_menus', $components ) ) {
require_once( ABSPATH . WPINC . '/class-wp-customize-nav-menus.php' );
$this->nav_menus = new WP_Customize_Nav_Menus( $this ); $this->nav_menus = new WP_Customize_Nav_Menus( $this );
}
add_filter( 'wp_die_handler', array( $this, 'wp_die_handler' ) ); add_filter( 'wp_die_handler', array( $this, 'wp_die_handler' ) );

View File

@ -4,7 +4,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '4.4-alpha-35306'; $wp_version = '4.4-alpha-35307';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.