get_template_directory和/或get_stylesheet_directory排队错误的路径

时间:2014-10-07 21:59:26

标签: php wordpress

我正在进行本地WordPress安装,我正在尝试将一些样式表排入队列,比如我之前做了很多次,但我以前从未遇到过这个bug。

这是我在functions.php文件中的代码。

function foundation_styles() {
    wp_enqueue_style( 'foundation', get_template_directory() . '/css/foundation.css' );
}

add_action( 'wp_enqueue_scripts', 'foundation_styles' );

查看页面源时,这是排队的文件路径:

<link rel='stylesheet' id='foundation-css'  href='http://localhost/FoundationwebsiteC:xampphtdocsFoundationwebsite/wp-content/themes/foundation/css/foundation.css?ver=4.0' >

相反它应该是:

<link rel='stylesheet' id='foundation-css'  href='http://localhost/Foundationwebsite/wp-content/themes/foundation/css/foundation.css?ver=4.0' >

请注意隐藏在文件路径中间的C:xampphtdocsFoundationwebsite/

当我使用get_stylesheet_directory()代替get_template_directory()

时,发生了同样的事情

我本地安装的文件路径是:

C:\xampp\htdocs\Foundationwebsite\wp-content\themes\foundation\css

任何人都知道是什么导致我的文件路径变得那么时髦吗?

2 个答案:

答案 0 :(得分:3)

您正在使用将返回路径的函数,而您需要的是一个URL。

get_template_directory()get_stylesheet_directory()替换为get_template_directory_uri()get_stylesheet_directory_uri()

示例:

function foundation_styles() {
    wp_enqueue_style( 'foundation', get_template_directory_uri() . '/css/foundation.css' );
}

答案 1 :(得分:0)

使用此

function foundation_styles() {
wp_enqueue_style( 'foundation', get_bloginfo('template_url') . '/css/foundation.css' );
}

有关更多信息,请参阅此链接 http://codex.wordpress.org/Function_Reference/wp_enqueue_style