强制到WordPress上的相对链接(function.php)

时间:2018-06-19 16:33:21

标签: php wordpress themes

我实际上是在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

1 个答案:

答案 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' );