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.


git-svn-id: https://develop.svn.wordpress.org/trunk@31194 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Scott Taylor 2015-01-16 02:30:08 +00:00
parent e1da69195d
commit 28d654837d

View File

@ -8,6 +8,23 @@
* @subpackage BackPress * @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. * 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. * @return array On success, a processed array of WP_Dependencies items; otherwise, an empty array.
*/ */
function wp_print_styles( $handles = false ) { function wp_print_styles( $handles = false ) {
if ( '' === $handles ) // for wp_head if ( '' === $handles ) { // for wp_head
$handles = false; $handles = false;
}
/** /**
* Fires before styles in the $handles queue are printed. * Fires before styles in the $handles queue are printed.
* *
* @since 2.6.0 * @since 2.6.0
*/ */
if ( ! $handles ) if ( ! $handles ) {
do_action( 'wp_print_styles' ); do_action( 'wp_print_styles' );
}
wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
global $wp_styles; global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) { if ( ! ( $wp_styles instanceof WP_Styles ) ) {
if ( ! did_action( 'init' ) ) if ( ! $handles ) {
_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 )
return array(); // No need to instantiate if nothing is there. 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. * they were added, i.e. the latter added styles can redeclare the previous.
* *
* @see WP_Styles::add_inline_style() * @see WP_Styles::add_inline_style()
* @global WP_Styles $wp_styles The WP_Styles object for printing styles.
* *
* @since 3.3.0 * @since 3.3.0
* *
@ -66,20 +81,14 @@ function wp_print_styles( $handles = false ) {
* @return bool True on success, false on failure. * @return bool True on success, false on failure.
*/ */
function wp_add_inline_style( $handle, $data ) { function wp_add_inline_style( $handle, $data ) {
global $wp_styles; wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
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();
}
if ( false !== stripos( $data, '</style>' ) ) { if ( false !== stripos( $data, '</style>' ) ) {
_doing_it_wrong( __FUNCTION__, __( 'Do not pass style tags to wp_add_inline_style().' ), '3.7' ); _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 ) ); $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() * @see WP_Dependencies::add()
* @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types. * @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 * @since 2.6.0
* *
@ -101,37 +109,24 @@ function wp_add_inline_style( $handle, $data ) {
* 'screen', 'tty', or 'tv'. * 'screen', 'tty', or 'tv'.
*/ */
function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) { function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
global $wp_styles; wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
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_styles->add( $handle, $src, $deps, $ver, $media ); wp_styles()->add( $handle, $src, $deps, $ver, $media );
} }
/** /**
* Remove a registered stylesheet. * Remove a registered stylesheet.
* *
* @see WP_Dependencies::remove() * @see WP_Dependencies::remove()
* @global WP_Styles $wp_styles The WP_Styles object for printing styles.
* *
* @since 2.1.0 * @since 2.1.0
* *
* @param string $handle Name of the stylesheet to be removed. * @param string $handle Name of the stylesheet to be removed.
*/ */
function wp_deregister_style( $handle ) { function wp_deregister_style( $handle ) {
global $wp_styles; wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
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_styles->remove( $handle ); wp_styles()->remove( $handle );
} }
/** /**
@ -141,7 +136,6 @@ function wp_deregister_style( $handle ) {
* *
* @see WP_Dependencies::add(), WP_Dependencies::enqueue() * @see WP_Dependencies::add(), WP_Dependencies::enqueue()
* @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types. * @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 * @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' ) { function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
global $wp_styles; global $wp_styles;
if ( ! ( $wp_styles instanceof WP_Styles ) ) { wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
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.' ), $wp_styles = wp_styles();
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
if ( $src ) { if ( $src ) {
$_handle = explode('?', $handle); $_handle = explode('?', $handle);
@ -175,22 +166,15 @@ function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false,
* Remove a previously enqueued CSS stylesheet. * Remove a previously enqueued CSS stylesheet.
* *
* @see WP_Dependencies::dequeue() * @see WP_Dependencies::dequeue()
* @global WP_Styles $wp_styles The WP_Styles object for printing styles.
* *
* @since 3.1.0 * @since 3.1.0
* *
* @param string $handle Name of the stylesheet to be removed. * @param string $handle Name of the stylesheet to be removed.
*/ */
function wp_dequeue_style( $handle ) { function wp_dequeue_style( $handle ) {
global $wp_styles; wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
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_styles->dequeue( $handle ); wp_styles()->dequeue( $handle );
} }
/** /**
@ -206,15 +190,9 @@ function wp_dequeue_style( $handle ) {
* @return bool Whether style is queued. * @return bool Whether style is queued.
*/ */
function wp_style_is( $handle, $list = 'enqueued' ) { function wp_style_is( $handle, $list = 'enqueued' ) {
global $wp_styles; wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
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();
}
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. * @return bool True on success, false on failure.
*/ */
function wp_style_add_data( $handle, $key, $value ) { 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 );
} }