問題描述
我在閱讀這篇文章:Common WordPress Development Mistakes and How to Fix Them,其中他們的作者說:
Getting the theme location: If you are using TEMPLATEPATH or bloginfo( ‘template_directory’). Stop! You should be using the very useful get_template_directory() as seen in my examples above.
但他沒有詳細說明。 bloginfo()有什麼壞處?
最佳解決方案
要做一個很長的故事:get_bloginfo( 'template_directory' )和 get_bloginfo( 'template_url' )只需返回 get_template_directory_uri()。
因此,您可以直接透過直接引用後面的模板標籤來快捷地進行第二次呼叫。
參考 get_bloginfo()的來源。
其他幾個:
-
'url'=>home_url() -
'wpurl'=>site_url() -
'stylesheet_url'=>get_stylesheet_uri() -
'stylesheet_directory'=>get_stylesheet_directory_uri() -
'locale'=>get_locale()
Edit
還要注意:TEMPLATEPATH 和 STYLESHEETPATH 都被淘汰,因此您現在可以分別使用 get_template_directory()和 get_stylesheet_directory()簡單地替換它們。
編輯 2
Re:這個評論
Just what I was about to say :). I’d add that
get_template_directory()returns the path andget_template_directory_uri()the url. So the author isn’t being consistent:get_bloginfo( 'template_directory' )andget_template_directory()return different things!
參考來源:)
case 'template_directory':
case 'template_url':
$output = get_template_directory_uri();
break;
Re:這個評論:
The one caveat when developing child themes you’ll need to use
get_stylesheet_directory()explicitly. Someone correct me if I’m wrong.
是的,但情況一直如此。 get_bloginfo()不返回與 get_stylesheet_directory()相關的任何內容。它只返回 get_stylesheet_uri()和 get_stylesheet_directory_uri()。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。