_wp_normalize_relative_css_links()


WordPressの_wp_normalize_relative_css_links()関数は、CSSファイル内の相対URLを絶対URLに正規化するために使用されます。この関数は主に内部で使用され、CSSファイルのリンクが正しく動作することを保証します。

構文

_wp_normalize_relative_css_links( string $css, string $stylesheet_url );

引数の説明:

  • $css(string) — 正規化するCSSコンテンツ。
  • $stylesheet_url(string) — CSSファイルの絶対URL。

例1: 基本的な使用法

この例では、CSSコンテンツ内の相対URLを絶対URLに変換します。

$css = ".example { background: url('images/bg.jpg'); }"; $stylesheet_url = "https://example.com/wp-content/themes/theme/style.css"; echo _wp_normalize_relative_css_links($css, $stylesheet_url);

例2: 複数の相対URLを正規化

複数の相対URLを含むCSSコンテンツを正規化します。

$css = ".example { background: url('images/bg.jpg'); } .another { background: url('../images/another.jpg'); }"; $stylesheet_url = "https://example.com/wp-content/themes/theme/style.css"; echo _wp_normalize_relative_css_links($css, $stylesheet_url);

例3: 外部CSSファイルの読み込み

外部CSSファイルを読み込み、相対URLを正規化します。

$css = file_get_contents('https://example.com/wp-content/themes/theme/style.css'); $stylesheet_url = "https://example.com/wp-content/themes/theme/style.css"; echo _wp_normalize_relative_css_links($css, $stylesheet_url);

例4: インラインCSSの正規化

インラインCSS内の相対URLを正規化します。

$css = "<style>.example { background: url('images/bg.jpg'); }</style>"; $stylesheet_url = "https://example.com/wp-content/themes/theme/style.css"; echo _wp_normalize_relative_css_links($css, $stylesheet_url);

例5: テーマ内での使用

テーマのfunctions.phpファイル内で使用する例です。

add_filter('style_loader_tag', function($html, $handle) { $css = wp_get_global_stylesheet(); $stylesheet_url = get_stylesheet_uri(); return _wp_normalize_relative_css_links($css, $stylesheet_url); }, 10, 2);

例6: プラグイン内での使用

プラグイン内でCSSの正規化を行う例です。

add_action('wp_enqueue_scripts', function() { $css = ".plugin-style { background: url('images/plugin-bg.jpg'); }"; $stylesheet_url = plugins_url('style.css', __FILE__); echo _wp_normalize_relative_css_links($css, $stylesheet_url); });

例7: カスタムCSSの正規化

カスタムCSSを正規化して出力します。

$custom_css = get_theme_mod('custom_css'); $stylesheet_url = get_stylesheet_uri(); echo _wp_normalize_relative_css_links($custom_css, $stylesheet_url);

注意点

  • この関数は主に内部で使用されるため、直接呼び出す必要はほとんどありません。
  • CSSファイルのURLが正しく設定されていることを確認してください。
  • 正規化処理はパフォーマンスに影響を与える可能性があるため、必要な場合にのみ使用してください。

関連機能: