+ $href = $this->_css_href( $obj->src, $ver, $handle );
+ if ( empty( $href ) ) {
+ // Turns out there is nothing to print.
+ return true;
+ }
+ $rel = isset($obj->extra['alt']) && $obj->extra['alt'] ? 'alternate stylesheet' : 'stylesheet';
+ $title = isset($obj->extra['title']) ? "title='" . esc_attr( $obj->extra['title'] ) . "'" : '';
+
+ /**
+ * Filter the HTML link tag of an enqueued style.
+ *
+ * @since 2.6.0
+ *
+ * @param string The link tag for the enqueued style.
+ * @param string $handle The style's registered handle.
+ */
+ $tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-css' $title href='$href' type='text/css' media='$media' />\n", $handle );
+ if ( 'rtl' === $this->text_direction && isset($obj->extra['rtl']) && $obj->extra['rtl'] ) {
+ if ( is_bool( $obj->extra['rtl'] ) || 'replace' === $obj->extra['rtl'] ) {
+ $suffix = isset( $obj->extra['suffix'] ) ? $obj->extra['suffix'] : '';
+ $rtl_href = str_replace( "{$suffix}.css", "-rtl{$suffix}.css", $this->_css_href( $obj->src , $ver, "$handle-rtl" ));
+ } else {
+ $rtl_href = $this->_css_href( $obj->extra['rtl'], $ver, "$handle-rtl" );
+ }
+
+ /** This filter is documented in wp-includes/class.wp-styles.php */
+ $rtl_tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-rtl-css' $title href='$rtl_href' type='text/css' media='$media' />\n", $handle );
+
+ if ( $obj->extra['rtl'] === 'replace' ) {
+ $tag = $rtl_tag;
+ } else {
+ $tag .= $rtl_tag;
+ }
+ }
+
+ $conditional_pre = $conditional_post = '';
+ if ( isset( $obj->extra['conditional'] ) && $obj->extra['conditional'] ) {
+ $conditional_pre = "<!--[if {$obj->extra['conditional']}]>\n";
+ $conditional_post = "<![endif]-->\n";
+ }
+
+ if ( $this->do_concat ) {
+ $this->print_html .= $conditional_pre;
+ $this->print_html .= $tag;
+ if ( $inline_style = $this->print_inline_style( $handle, false ) ) {
+ $this->print_html .= sprintf( "<style id='%s-inline-css' type='text/css'>\n%s\n</style>\n", esc_attr( $handle ), $inline_style );
+ }
+ $this->print_html .= $conditional_post;
+ } else {
+ echo $conditional_pre;
+ echo $tag;
+ $this->print_inline_style( $handle );
+ echo $conditional_post;
+ }
+
+ return true;
+ }
+
+ /**
+ * @param string $handle
+ * @param string $code
+ */
+ public function add_inline_style( $handle, $code ) {
+ if ( ! $code ) {
+ return false;
+ }