Enqueues or directly prints a stylesheet link to the specified CSS file.
Description
"Intelligently" decides to enqueue or to print the CSS file. If the ‘wp_print_styles’ action has not yet been called, the CSS file will be enqueued. If the ‘wp_print_styles’ action has been called, the CSS link will be printed. Printing may be forced by passing true as the $force_echo (second) parameter.
For backward compatibility with WordPress 2.3 calling method: If the $file (first) parameter does not correspond to a registered CSS file, we assume $file is a file relative to wp-admin/ without its ".css" extension. A stylesheet link to that generated URL is printed.
Parameters
$file
stringoptional- Style handle name or file name (without ".css" extension) relative to wp-admin/. Defaults to
'wp-admin'
.Default:
'wp-admin'
$force_echo
booloptional- Force the stylesheet link to be printed rather than enqueued.
Default:
false
Source
function wp_admin_css( $file = 'wp-admin', $force_echo = false ) {
// For backward compatibility.
$handle = str_starts_with( $file, 'css/' ) ? substr( $file, 4 ) : $file;
if ( wp_styles()->query( $handle ) ) {
if ( $force_echo || did_action( 'wp_print_styles' ) ) {
// We already printed the style queue. Print this one immediately.
wp_print_styles( $handle );
} else {
// Add to style queue.
wp_enqueue_style( $handle );
}
return;
}
$stylesheet_link = sprintf(
"<link rel='stylesheet' href='%s' type='text/css' />\n",
esc_url( wp_admin_css_uri( $file ) )
);
/**
* Filters the stylesheet link to the specified CSS file.
*
* If the site is set to display right-to-left, the RTL stylesheet link
* will be used instead.
*
* @since 2.3.0
* @param string $stylesheet_link HTML link element for the stylesheet.
* @param string $file Style handle name or filename (without ".css" extension)
* relative to wp-admin/. Defaults to 'wp-admin'.
*/
echo apply_filters( 'wp_admin_css', $stylesheet_link, $file );
if ( function_exists( 'is_rtl' ) && is_rtl() ) {
$rtl_stylesheet_link = sprintf(
"<link rel='stylesheet' href='%s' type='text/css' />\n",
esc_url( wp_admin_css_uri( "$file-rtl" ) )
);
/** This filter is documented in wp-includes/general-template.php */
echo apply_filters( 'wp_admin_css', $rtl_stylesheet_link, "$file-rtl" );
}
}
Hooks
- apply_filters( ‘wp_admin_css’,
string $stylesheet_link ,string $file ) Filters the stylesheet link to the specified CSS file.
Changelog
Version | Description |
---|---|
2.3.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.