2013-03-23 158 views
0

我正在使用框架为wordpress开发主题。在安装框架之后,我在functions.php中创建了儿童主题并包含了我的框架中的文件。为什么TEMPLATEPATH返回到子目录的绝对路径?

在其他2个项目中工作正常,但在我的新项目中,我有一个错误。当我调用TEMPLATEPATH时,它返回到子目录的绝对路径,但它必须返回父主题的路径。

什么可能是错的?

P.S.框架使用TEMPLATEPATH包含他自己的文件,所以我需要了解如何解决这个问题。

+0

你应该在儿童主题上使用STYLESHEETPATH - 这是一些有用的信息http://wordpress.stackexchange.com/questions/21086/wordpress-include-templatepath-或 – McNab 2013-03-23 11:47:06

+0

嗨,@McNab。 感谢您快速回复。 我可以在我的functions.php儿童主题中使用STYLESHEETPATH,但我不能将TAMPLATEPATH更改为框架文件中的STYLESHEETPATH(框架作者不允许这样做)。所以我需要找到我如何解决TAMPLATEPATH问题。 – Vov4eg 2013-03-23 12:42:45

+0

框架开发人员必须包含或记录一种方法来执行此操作,否则框架无用。请看get_template_directory_uri()http://codex.wordpress.org/Function_Reference/get_template_directory_uri或get_stylesheet_directory_uri();也许吧http://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri。 – McNab 2013-03-23 14:12:51

回答

1

我找到了我的问题的解决方案。
我得到了错误的父主题路径,因为表中的数据库“wp_options”字段“模板”中是一个子主题名称。当我将该字段的值更改为父主题名称时,TEMPLATEPATH start会返回父主题的路径。

1

你应该尝试使用get_template_directory_uri()获取父主题目录,如下所示:

echo get_template_directory_uri()/img/icon.png 

如果你想要得到的东西你的孩子的主题目录,你可以使用get_stylesheet_directory_uri()

更多信息:

编辑:刚才注意到了问题的意见麦克纳布的答复,给这个家伙一些upvotes为好。 :)

0

这发生在我身上,因为我先创建了我的子主题,并在创建父主题style.css文件之前激活了它。

所有你需要做的解决这个问题是激活任何其他主题,然后重新激活你的孩子的主题。这将更正wp_options表中的“模板”值。

相关问题