为什么TEMPLATEPATH返回子目录的绝对路径()

我正在使用框架开发WordPress主题。安装框架后, 我创建子主题, 并将来自框架的文件包含在functions.php中。
在其他2个项目中, 一切正常, 但是在我的新项目中, 我有一个错误。当我调用TEMPLATEPATH时, 它返回到子目录的绝对路径, 但是必须返回到父主题的路径。
有什么事吗
附言框架使用TEMPLATEPATH包括自己的文件, 因此我需要了解如何解决此问题。
#1你应该尝试使用get_template_directory_uri()来获取父主题目录, 如下所示:

echo get_template_directory_uri()/img/icon.png

如果要从子主题目录中获取某些内容, 可以使用get_stylesheet_directory_uri()。
更多信息:
  • http://codex.wordpress.org/Function_Reference/get_template_directory_uri
  • http://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri
编辑:刚刚注意到McNab在问题的评论中的答复, 也给这个家伙一些赞。 ??
#2我找到了解决问题的办法。
我有错误的父主题路径, 因为在DB字段” template” 中的” wp_options” 表中是子主题名称。当我将此字段的值更改为父主题名称时, TEMPLATEPATH开始返回父主题的路径。
#3发生这种情况是因为我先创建了我的子主题, 然后在创建父主题style.css文件之前将其激活。
【为什么TEMPLATEPATH返回子目录的绝对路径()】解决此问题所需要做的就是激活其他任何主题, 然后重新激活子主题。这将更正wp_options表中的’ template’ 值。

    推荐阅读