当前位置: 首页>>建站开发>>正文


get_template_directory()vs bloginfo(‘template_directory’)vs TEMPLATEPATH

webfans 建站开发 , , , 去评论

问题描述

我正在读这篇文章: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

回复:这个评论

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;

回复:这个评论:

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()

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/3020.html,转载请务必附带本地址声明。