问题描述
我在阅读这篇文章: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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。