在WordPress中动态更改样式表中的URL路径

w6lpcovy  于 2022-10-04  发布在  WordPress
关注(0)|答案(0)|浏览(180)

(我把这篇文章贴到了WordPress的堆栈交换上,但我也认为在这里贴这篇文章是个好主意)。

我发现了一个函数,当将其放在unctions.php中时,它会将整个样式表注入网站的头部:

add_action( 'wp_head', 'internal_css_print' );
function internal_css_print() {
  echo '<style>';

  include_once get_template_directory() . '/style.css';

  echo '</style>';
}

它工作得很好,整个样式表放在头上都很好,但有一个小问题是,CSS中的URL被破坏了。例如,当以下内容位于css文件中时:

background: url('images/hero-desktop.jpg');

当样式表正常链接时,将返回http://localhost:8888/wp-content/themes/my-theme/images/hero-desktop.jpg->Works

但是,当将样式表注入头部时,它返回:http://localhost:8888/images/hero-desktop.jpg-->不起作用。这条路已经断了。

要解决这个问题,我可以在css中进行简单的搜索和替换,将url('更改为url('/wp-content/themes/my-theme/,但必须有更好的方法。

所以我在想,有没有什么东西可以添加到顶部的函数中,所以在将整个css文件输出到头部之前,它会动态地将URL路径从url(/images/)更改为/wp-content/themes/my-theme/images/。如果这是可能的,那将是很好的,所以这只是一个一次性的设置,而不是搜索和替换一个已经开发的网站上的css。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题