Customize: move `WP_Customize_Section` subclasses to `wp-includes/customize`, they load in the exact same place.

See #34432.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Scott Taylor 2015-10-24 18:21:25 +00:00
parent cde183f029
commit 574f53399c
10 changed files with 247 additions and 203 deletions

View File

@ -374,204 +374,14 @@ class WP_Customize_Section {
}
}
/**
* Customize Themes Section class.
*
* A UI container for theme controls, which behaves like a backwards Panel.
*
* @since 4.2.0
*
* @see WP_Customize_Section
*/
class WP_Customize_Themes_Section extends WP_Customize_Section {
/** WP_Customize_Themes_Section class */
require_once( ABSPATH . WPINC . '/customize/class-wp-customize-themes-section.php' );
/**
* Customize section type.
*
* @since 4.2.0
* @access public
* @var string
*/
public $type = 'themes';
/** WP_Customize_Sidebar_Section class */
require_once( ABSPATH . WPINC . '/customize/class-wp-customize-sidebar-section.php' );
/**
* Render the themes section, which behaves like a panel.
*
* @since 4.2.0
* @access protected
*/
protected function render() {
$classes = 'accordion-section control-section control-section-' . $this->type;
?>
<li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
<h3 class="accordion-section-title">
<?php
if ( $this->manager->is_theme_active() ) {
echo '<span class="customize-action">' . __( 'Active theme' ) . '</span> ' . $this->title;
} else {
echo '<span class="customize-action">' . __( 'Previewing theme' ) . '</span> ' . $this->title;
}
?>
/** WP_Customize_Nav_Menu_Section class */
require_once( ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-section.php' );
<button type="button" class="button change-theme" tabindex="0"><?php _ex( 'Change', 'theme' ); ?></button>
</h3>
<div class="customize-themes-panel control-panel-content themes-php">
<h3 class="accordion-section-title customize-section-title">
<span class="customize-action"><?php _e( 'Customizing' ); ?></span>
<?php _e( 'Themes' ); ?>
<span class="title-count theme-count"><?php echo count( $this->controls ) + 1 /* Active theme */; ?></span>
</h3>
<h3 class="accordion-section-title customize-section-title">
<?php
if ( $this->manager->is_theme_active() ) {
echo '<span class="customize-action">' . __( 'Active theme' ) . '</span> ' . $this->title;
} else {
echo '<span class="customize-action">' . __( 'Previewing theme' ) . '</span> ' . $this->title;
}
?>
<button type="button" class="button customize-theme"><?php _e( 'Customize' ); ?></button>
</h3>
<div class="theme-overlay" tabindex="0" role="dialog" aria-label="<?php esc_attr_e( 'Theme Details' ); ?>"></div>
<div id="customize-container"></div>
<?php if ( count( $this->controls ) > 4 ) : ?>
<p><label for="themes-filter">
<span class="screen-reader-text"><?php _e( 'Search installed themes&hellip;' ); ?></span>
<input type="text" id="themes-filter" placeholder="<?php esc_attr_e( 'Search installed themes&hellip;' ); ?>" />
</label></p>
<?php endif; ?>
<div class="theme-browser rendered">
<ul class="themes accordion-section-content">
</ul>
</div>
</div>
</li>
<?php }
}
/**
* Customizer section representing widget area (sidebar).
*
* @since 4.1.0
*
* @see WP_Customize_Section
*/
class WP_Customize_Sidebar_Section extends WP_Customize_Section {
/**
* Type of this section.
*
* @since 4.1.0
* @access public
* @var string
*/
public $type = 'sidebar';
/**
* Unique identifier.
*
* @since 4.1.0
* @access public
* @var string
*/
public $sidebar_id;
/**
* Gather the parameters passed to client JavaScript via JSON.
*
* @since 4.1.0
*
* @return array The array to be exported to the client as JSON.
*/
public function json() {
$json = parent::json();
$json['sidebarId'] = $this->sidebar_id;
return $json;
}
/**
* Whether the current sidebar is rendered on the page.
*
* @since 4.1.0
* @access public
*
* @return bool Whether sidebar is rendered.
*/
public function active_callback() {
return $this->manager->widgets->is_sidebar_rendered( $this->sidebar_id );
}
}
/**
* Customize Menu Section Class
*
* Custom section only needed in JS.
*
* @since 4.3.0
*
* @see WP_Customize_Section
*/
class WP_Customize_Nav_Menu_Section extends WP_Customize_Section {
/**
* Control type.
*
* @since 4.3.0
* @access public
* @var string
*/
public $type = 'nav_menu';
/**
* Get section parameters for JS.
*
* @since 4.3.0
* @access public
* @return array Exported parameters.
*/
public function json() {
$exported = parent::json();
$exported['menu_id'] = intval( preg_replace( '/^nav_menu\[(\d+)\]/', '$1', $this->id ) );
return $exported;
}
}
/**
* Customize Menu Section Class
*
* Implements the new-menu-ui toggle button instead of a regular section.
*
* @since 4.3.0
*
* @see WP_Customize_Section
*/
class WP_Customize_New_Menu_Section extends WP_Customize_Section {
/**
* Control type.
*
* @since 4.3.0
* @access public
* @var string
*/
public $type = 'new_menu';
/**
* Render the section, and the controls that have been added to it.
*
* @since 4.3.0
* @access protected
*/
protected function render() {
?>
<li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="accordion-section-new-menu">
<button type="button" class="button-secondary add-new-menu-item add-menu-toggle" aria-expanded="false">
<?php echo esc_html( $this->title ); ?>
</button>
<ul class="new-menu-section-content"></ul>
</li>
<?php
}
}
/** WP_Customize_New_Menu_Section class */
require_once( ABSPATH . WPINC . '/customize/class-wp-customize-new-menu-section.php' );

View File

@ -1,6 +1,6 @@
<?php
/**
* WordPress Customize Setting classes
* Customize API: WP_Customize_Background_Image_Setting class
*
* @package WordPress
* @subpackage Customize

View File

@ -1,6 +1,6 @@
<?php
/**
* WordPress Customize Setting classes
* Customize API: WP_Customize_Filter_Setting class
*
* @package WordPress
* @subpackage Customize

View File

@ -1,6 +1,6 @@
<?php
/**
* WordPress Customize Setting classes
* Customize API: WP_Customize_Header_Image_Setting class
*
* @package WordPress
* @subpackage Customize

View File

@ -1,6 +1,6 @@
<?php
/**
* WordPress Customize Setting classes
* Customize API: WP_Customize_Nav_Menu_Item_Setting class
*
* @package WordPress
* @subpackage Customize

View File

@ -0,0 +1,43 @@
<?php
/**
* Customize API: WP_Customize_Nav_Menu_Section class
*
* @package WordPress
* @subpackage Customize
* @since 4.4.0
*/
/**
* Customize Menu Section Class
*
* Custom section only needed in JS.
*
* @since 4.3.0
*
* @see WP_Customize_Section
*/
class WP_Customize_Nav_Menu_Section extends WP_Customize_Section {
/**
* Control type.
*
* @since 4.3.0
* @access public
* @var string
*/
public $type = 'nav_menu';
/**
* Get section parameters for JS.
*
* @since 4.3.0
* @access public
* @return array Exported parameters.
*/
public function json() {
$exported = parent::json();
$exported['menu_id'] = intval( preg_replace( '/^nav_menu\[(\d+)\]/', '$1', $this->id ) );
return $exported;
}
}

View File

@ -1,6 +1,6 @@
<?php
/**
* WordPress Customize Setting classes
* Customize API: WP_Customize_Nav_Menu_Setting class
*
* @package WordPress
* @subpackage Customize

View File

@ -0,0 +1,46 @@
<?php
/**
* Customize API: WP_Customize_New_Menu_Section class
*
* @package WordPress
* @subpackage Customize
* @since 4.4.0
*/
/**
* Customize Menu Section Class
*
* Implements the new-menu-ui toggle button instead of a regular section.
*
* @since 4.3.0
*
* @see WP_Customize_Section
*/
class WP_Customize_New_Menu_Section extends WP_Customize_Section {
/**
* Control type.
*
* @since 4.3.0
* @access public
* @var string
*/
public $type = 'new_menu';
/**
* Render the section, and the controls that have been added to it.
*
* @since 4.3.0
* @access protected
*/
protected function render() {
?>
<li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="accordion-section-new-menu">
<button type="button" class="button-secondary add-new-menu-item add-menu-toggle" aria-expanded="false">
<?php echo esc_html( $this->title ); ?>
</button>
<ul class="new-menu-section-content"></ul>
</li>
<?php
}
}

View File

@ -0,0 +1,61 @@
<?php
/**
* Customize API: WP_Customize_Sidebar_Section class
*
* @package WordPress
* @subpackage Customize
* @since 4.4.0
*/
/**
* Customizer section representing widget area (sidebar).
*
* @since 4.1.0
*
* @see WP_Customize_Section
*/
class WP_Customize_Sidebar_Section extends WP_Customize_Section {
/**
* Type of this section.
*
* @since 4.1.0
* @access public
* @var string
*/
public $type = 'sidebar';
/**
* Unique identifier.
*
* @since 4.1.0
* @access public
* @var string
*/
public $sidebar_id;
/**
* Gather the parameters passed to client JavaScript via JSON.
*
* @since 4.1.0
*
* @return array The array to be exported to the client as JSON.
*/
public function json() {
$json = parent::json();
$json['sidebarId'] = $this->sidebar_id;
return $json;
}
/**
* Whether the current sidebar is rendered on the page.
*
* @since 4.1.0
* @access public
*
* @return bool Whether sidebar is rendered.
*/
public function active_callback() {
return $this->manager->widgets->is_sidebar_rendered( $this->sidebar_id );
}
}

View File

@ -0,0 +1,84 @@
<?php
/**
* Customize API: WP_Customize_Themes_Section class
*
* @package WordPress
* @subpackage Customize
* @since 4.4.0
*/
/**
* Customize Themes Section class.
*
* A UI container for theme controls, which behaves like a backwards Panel.
*
* @since 4.2.0
*
* @see WP_Customize_Section
*/
class WP_Customize_Themes_Section extends WP_Customize_Section {
/**
* Customize section type.
*
* @since 4.2.0
* @access public
* @var string
*/
public $type = 'themes';
/**
* Render the themes section, which behaves like a panel.
*
* @since 4.2.0
* @access protected
*/
protected function render() {
$classes = 'accordion-section control-section control-section-' . $this->type;
?>
<li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
<h3 class="accordion-section-title">
<?php
if ( $this->manager->is_theme_active() ) {
echo '<span class="customize-action">' . __( 'Active theme' ) . '</span> ' . $this->title;
} else {
echo '<span class="customize-action">' . __( 'Previewing theme' ) . '</span> ' . $this->title;
}
?>
<button type="button" class="button change-theme" tabindex="0"><?php _ex( 'Change', 'theme' ); ?></button>
</h3>
<div class="customize-themes-panel control-panel-content themes-php">
<h3 class="accordion-section-title customize-section-title">
<span class="customize-action"><?php _e( 'Customizing' ); ?></span>
<?php _e( 'Themes' ); ?>
<span class="title-count theme-count"><?php echo count( $this->controls ) + 1 /* Active theme */; ?></span>
</h3>
<h3 class="accordion-section-title customize-section-title">
<?php
if ( $this->manager->is_theme_active() ) {
echo '<span class="customize-action">' . __( 'Active theme' ) . '</span> ' . $this->title;
} else {
echo '<span class="customize-action">' . __( 'Previewing theme' ) . '</span> ' . $this->title;
}
?>
<button type="button" class="button customize-theme"><?php _e( 'Customize' ); ?></button>
</h3>
<div class="theme-overlay" tabindex="0" role="dialog" aria-label="<?php esc_attr_e( 'Theme Details' ); ?>"></div>
<div id="customize-container"></div>
<?php if ( count( $this->controls ) > 4 ) : ?>
<p><label for="themes-filter">
<span class="screen-reader-text"><?php _e( 'Search installed themes&hellip;' ); ?></span>
<input type="text" id="themes-filter" placeholder="<?php esc_attr_e( 'Search installed themes&hellip;' ); ?>" />
</label></p>
<?php endif; ?>
<div class="theme-browser rendered">
<ul class="themes accordion-section-content">
</ul>
</div>
</div>
</li>
<?php }
}