2013-03-23 155 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表中的「模板」值。

相關問題