get_template_directory()没有返回

问题描述:

我正在做一些自定义的主题工作的第一次,我想用get_template_directory()没有返回

<?php get_template_directory(); ?>/main.css 

访问CSS文件。然而,当这使它在HTML,它呈现为:

/main.css 

有可能我删除任何设置或选项,WordPress使用以获得这条道路。 Wordpress使用什么逻辑来确定模板目录是什么?

作为一个测试,我添加以下代码:

DIRS: 

Plugins 
<?php plugins_url(); ?> 
<?php plugin_dir_url(); ?> 
<?php plugin_dir_path(); ?> 
<?php plugin_basename(); ?> 
Themes 
<?php get_template_directory_uri(); ?> 
<?php get_stylesheet_uri(); ?> 
<?php get_theme_root_uri(); ?> 
<?php get_theme_root(); ?> 
<?php get_theme_roots(); ?> 
Site Home 
<?php home_url(); ?> 
WordPress 
<?php admin_url(); ?> 
<?php site_url(); ?> 
<?php content_url(); ?> 
<?php includes_url(); ?> 
<?php wp_upload_dir(); ?> 
Multisite 
<?php get_admin_url(); ?> 
<?php get_home_url(); ?> 
<?php get_site_url(); ?> 
<?php network_admin_url(); ?> 
<?php network_site_url(); ?> 
<?php network_home_url(); ?> 

,它呈现为:

DIRS: 
Plugins 
Themes 
Site Home 
WordPress 
Multisite 

所以这是很清楚,我搞砸了事情的WordPress需要确定它的目录。但我无法在Google上找到有关Wordpress如何使用这些路径的东西,并且源代码对我来说也不明显。

get_template_directory返回一个字符串。 It doesn't echo that string。对于以get_开头的WordPress功能,这是非常常见的行为。尝试:

<?php echo get_template_directory(); ?>/main.css 
+0

是的,这确实出现了问题的答案。我是PHP新手,我仍然有点困惑,为什么当 2013-03-12 16:09:23

取决于你打算做什么,你也可以使用:

<?php bloginfo('template_url'); ?>