問題描述

我在閱讀這篇文章: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

還要注意:TEMPLATEPATHSTYLESHEETPATH 都被淘汰,因此您現在可以分別使用 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 and get_template_directory_uri() the url. So the author isn’t being consistent: get_bloginfo( 'template_directory' ) and get_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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。