After [31192], create a function, `wp_styles()`, to reduce duplicated code in `functions.wp-styles.php`. The style functions can reuse `wp_scripts_maybe_doing_it_wrong( $function )` internally.

See #20513.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31175 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Scott Taylor 2015-01-16 02:31:23 +00:00
parent 2849a791b4
commit 9ee49b130c
2 changed files with 41 additions and 64 deletions

View File

@ -8,6 +8,23 @@
* @subpackage BackPress
*/
/**
* Initialize $wp_styles if it has not been set.
*
* @global WP_Styles $wp_styles
*
* @since 4.2.0
*
* @return WP_Styles
*/
function wp_styles() {
global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
$wp_styles = new WP_Styles();
}
return $wp_styles;
}
/**
* Display styles that are in the $handles queue.
*
@ -23,29 +40,28 @@
* @return array On success, a processed array of WP_Dependencies items; otherwise, an empty array.
*/
function wp_print_styles( $handles = false ) {
if ( '' === $handles ) // for wp_head
if ( '' === $handles ) { // for wp_head
$handles = false;
}
/**
* Fires before styles in the $handles queue are printed.
*
* @since 2.6.0
*/
if ( ! $handles )
if ( ! $handles ) {
do_action( 'wp_print_styles' );
}
wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
if ( !$handles )
if ( ! $handles ) {
return array(); // No need to instantiate if nothing is there.
else
$wp_styles = new WP_Styles();
}
}
return $wp_styles->do_items( $handles );
return wp_styles()->do_items( $handles );
}
/**
@ -57,7 +73,6 @@ function wp_print_styles( $handles = false ) {
* they were added, i.e. the latter added styles can redeclare the previous.
*
* @see WP_Styles::add_inline_style()
* @global WP_Styles $wp_styles The WP_Styles object for printing styles.
*
* @since 3.3.0
*
@ -66,20 +81,14 @@ function wp_print_styles( $handles = false ) {
* @return bool True on success, false on failure.
*/
function wp_add_inline_style( $handle, $data ) {
global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
if ( false !== stripos( $data, '</style>' ) ) {
_doing_it_wrong( __FUNCTION__, __( 'Do not pass style tags to wp_add_inline_style().' ), '3.7' );
$data = trim( preg_replace( '#<style[^>]*>(.*)</style>#is', '$1', $data ) );
}
return $wp_styles->add_inline_style( $handle, $data );
return wp_styles()->add_inline_style( $handle, $data );
}
/**
@ -87,7 +96,6 @@ function wp_add_inline_style( $handle, $data ) {
*
* @see WP_Dependencies::add()
* @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
* @global WP_Styles $wp_styles The WP_Styles object for printing styles.
*
* @since 2.6.0
*
@ -101,37 +109,24 @@ function wp_add_inline_style( $handle, $data ) {
* 'screen', 'tty', or 'tv'.
*/
function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
$wp_styles->add( $handle, $src, $deps, $ver, $media );
wp_styles()->add( $handle, $src, $deps, $ver, $media );
}
/**
* Remove a registered stylesheet.
*
* @see WP_Dependencies::remove()
* @global WP_Styles $wp_styles The WP_Styles object for printing styles.
*
* @since 2.1.0
*
* @param string $handle Name of the stylesheet to be removed.
*/
function wp_deregister_style( $handle ) {
global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
$wp_styles->remove( $handle );
wp_styles()->remove( $handle );
}
/**
@ -141,7 +136,6 @@ function wp_deregister_style( $handle ) {
*
* @see WP_Dependencies::add(), WP_Dependencies::enqueue()
* @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
* @global WP_Styles $wp_styles The WP_Styles object for printing styles.
*
* @since 2.6.0
*
@ -157,12 +151,9 @@ function wp_deregister_style( $handle ) {
*/
function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
$wp_styles = wp_styles();
if ( $src ) {
$_handle = explode('?', $handle);
@ -175,22 +166,15 @@ function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false,
* Remove a previously enqueued CSS stylesheet.
*
* @see WP_Dependencies::dequeue()
* @global WP_Styles $wp_styles The WP_Styles object for printing styles.
*
* @since 3.1.0
*
* @param string $handle Name of the stylesheet to be removed.
*/
function wp_dequeue_style( $handle ) {
global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
$wp_styles->dequeue( $handle );
wp_styles()->dequeue( $handle );
}
/**
@ -206,15 +190,9 @@ function wp_dequeue_style( $handle ) {
* @return bool Whether style is queued.
*/
function wp_style_is( $handle, $list = 'enqueued' ) {
global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
return (bool) $wp_styles->query( $handle, $list );
return (bool) wp_styles()->query( $handle, $list );
}
/**
@ -240,6 +218,5 @@ function wp_style_is( $handle, $list = 'enqueued' ) {
* @return bool True on success, false on failure.
*/
function wp_style_add_data( $handle, $key, $value ) {
global $wp_styles;
return $wp_styles->add_data( $handle, $key, $value );
return wp_styles()->add_data( $handle, $key, $value );
}

View File

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