_wp_normalize_relative_css_links()
Makes URLs relative to the WordPress installation.
Эта функция считается внутренней для использования самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуков нет.
Возвращает
Строку
. The CSS with URLs made relative to the WordPress installation.
Использование
_wp_normalize_relative_css_links( $css, $stylesheet_url );
- $css(строка) (обязательный)
- The CSS to make URLs relative to the WordPress installation.
- $stylesheet_url(строка) (обязательный)
- The URL to the stylesheet.
Список изменений
С версии 5.9.0 | Введена. |
Код _wp_normalize_relative_css_links() wp normalize relative css links WP 6.1.1
function _wp_normalize_relative_css_links( $css, $stylesheet_url ) { $has_src_results = preg_match_all( '#url\s*\(\s*[\'"]?\s*([^\'"\)]+)#', $css, $src_results ); if ( $has_src_results ) { // Loop through the URLs to find relative ones. foreach ( $src_results[1] as $src_index => $src_result ) { // Skip if this is an absolute URL. if ( 0 === strpos( $src_result, 'http' ) || 0 === strpos( $src_result, '//' ) ) { continue; } // Skip if the URL is an HTML ID. if ( str_starts_with( $src_result, '#' ) ) { continue; } // Skip if the URL is a data URI. if ( str_starts_with( $src_result, 'data:' ) ) { continue; } // Build the absolute URL. $absolute_url = dirname( $stylesheet_url ) . '/' . $src_result; $absolute_url = str_replace( '/./', '/', $absolute_url ); // Convert to URL related to the site root. $relative_url = wp_make_link_relative( $absolute_url ); // Replace the URL in the CSS. $css = str_replace( $src_results[0][ $src_index ], str_replace( $src_result, $relative_url, $src_results[0][ $src_index ] ), $css ); } } return $css; }