+ * 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()
+ * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
+ *
+ * @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 ) {
+ global $wp_styles;
+ if ( ! is_a( $wp_styles, '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>' ) ) {
+ _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 );
+}
+
+/**
+ * Register a CSS stylesheet.