* Filter the HTML link tag of an enqueued style.
*
* @since 2.6.0
+ * @since 4.3.0 Introduced the `$href` parameter.
*
- * @param string The link tag for the enqueued style.
+ * @param string $html The link tag for the enqueued style.
* @param string $handle The style's registered handle.
+ * @param string $href The stylesheet's source URL.
*/
- $tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-css' $title href='$href' type='text/css' media='$media' />\n", $handle );
+ $tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-css' $title href='$href' type='text/css' media='$media' />\n", $handle, $href );
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'] : '';
}
/** 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 );
+ $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, $rtl_href );
if ( $obj->extra['rtl'] === 'replace' ) {
$tag = $rtl_tag;
}
}
- if ( isset($obj->extra['conditional']) && $obj->extra['conditional'] ) {
- $tag = "<!--[if {$obj->extra['conditional']}]>\n" . $tag . "<![endif]-->\n";
+ $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 ) )
+ 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;
return false;
}
+ /**
+ * @return array
+ */
public function do_footer_items() { // HTML 5 allows styles in the body, grab late enqueued items and output them in the footer.
$this->do_items(false, 1);
return $this->done;
}
+ /**
+ * @access public
+ */
public function reset() {
$this->do_concat = false;
$this->concat = '';