- if ( !is_a($wp_styles, 'WP_Styles') ) {
- if ( !$handles )
- return array(); // No need to instantiate if nothing's there.
- else
- $wp_styles = new WP_Styles();
+ if ( ! ( $wp_styles instanceof WP_Styles ) ) {
+ if ( ! $handles ) {
+ return array(); // No need to instantiate if nothing is there.
+ }
+ }
+
+ return wp_styles()->do_items( $handles );
+}
+
+/**
+ * Add extra CSS styles to a registered stylesheet.
+ *
+ * Styles will only be added if the stylesheet in already in the queue.
+ * Accepts a string $data containing the CSS. If two or more CSS code blocks
+ * are added to the same stylesheet $handle, they will be printed in the order
+ * they were added, i.e. the latter added styles can redeclare the previous.
+ *
+ * @see WP_Styles::add_inline_style()
+ *
+ * @since 3.3.0
+ *
+ * @param string $handle Name of the stylesheet to add the extra styles to. Must be lowercase.
+ * @param string $data String containing the CSS styles to be added.
+ * @return bool True on success, false on failure.
+ */
+function wp_add_inline_style( $handle, $data ) {
+ _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 ) );