我实际上是在worpress网站上工作,问题是我无法强制将function.php设置为相对URL。 现在function.php是这样的:
function untheme_scripts() {
wp_enqueue_style( 'untheme-style', get_stylesheet_uri() );
wp_enqueue_style( 'untheme-custom-style', get_template_directory_uri() . '/assets/css/style.css' );
wp_enqueue_script( 'untheme-scripts', get_template_directory_uri() . '/assets/js/scripts.js' );
}
add_action( 'wp_enqueue_scripts', 'untheme_scripts' );
但是它将像这样链接CSS
http://localhost:8888/wp-content/......../style.css
我需要相对的一个,像这样:
/wp-content/......../style.css
答案 0 :(得分:0)
这听起来像是容易出错的做法,因为如果您在site.com/wordpress/
进行安装,则由于实际的相对URL为/wordpress/wp-content
,因此无法正常工作。
get_stylesheet_directory_uri()
和get_template_directory_uri()
是事实上的入队功能,这是有原因的。您猜对了另一个有趣的功能,叫做content_url()
,它为您提供了/wp-content
文件夹的URL。
现在,我不是要说不能,如果有可能的话,尤其是做任何事情,因为我有一些煮熟的要求,而这些要求在写出来的时候是没有道理的;幸运的是,WordPress具有一项可以完全满足您要求的功能wp_make_link_relative()
。其用法如下所示:
function untheme_scripts() {
wp_enqueue_style( 'untheme-style', get_stylesheet_uri() );
wp_enqueue_style( 'untheme-custom-style', wp_make_link_relative( get_template_directory_uri() ) . '/assets/css/style.css' );
wp_enqueue_script( 'untheme-scripts', wp_make_link_relative( get_template_directory_uri() ) . '/assets/js/scripts.js' );
}
add_action( 'wp_enqueue_scripts', 'untheme_scripts' );