Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
_wp_normalize_relative_css_links( string $css, string $stylesheet_url ): string
Makes URLs relative to the WordPress installation.
Parameters
-
$css
string Required -
The CSS to make URLs relative to the WordPress installation.
-
$stylesheet_url
string Required -
The URL to the stylesheet.
Return
string The CSS with URLs made relative to the WordPress installation.
Source
File: wp-includes/script-loader.php
.
View all references
function _wp_normalize_relative_css_links( $css, $stylesheet_url ) {
return preg_replace_callback(
'#(url\s*\(\s*[\'"]?\s*)([^\'"\)]+)#',
static function ( $matches ) use ( $stylesheet_url ) {
list( , $prefix, $url ) = $matches;
// Short-circuit if the URL does not require normalization.
if (
str_starts_with( $url, 'http:' ) ||
str_starts_with( $url, 'https:' ) ||
str_starts_with( $url, '//' ) ||
str_starts_with( $url, '#' ) ||
str_starts_with( $url, 'data:' )
) {
return $matches[0];
}
// Build the absolute URL.
$absolute_url = dirname( $stylesheet_url ) . '/' . $url;
$absolute_url = str_replace( '/./', '/', $absolute_url );
// Convert to URL related to the site root.
$url = wp_make_link_relative( $absolute_url );
return $prefix . $url;
},
$css
);
}
Changelog
Version | Description |
---|---|
5.9.0 | Introduced. |