私はこの記事を読んでいました: よくあるWordPress開発の間違いとその修正方法 、そしてその中で、彼らは言っています:
テーマの場所を取得する:TEMPLATEPATHまたはbloginfo( 'template_directory')を使用している場合 やめて! 上の例で見たように、とても便利なget_template_directory()を使うべきです。
しかし、彼は詳述しません。 bloginfo()
の何がそんなに悪いの?
簡単に言うと、get_bloginfo( 'template_directory' )
とget_bloginfo( 'template_url' )
は単にget_template_directory_uri()
を返します。
そのため、後者のテンプレートタグを直接参照するだけで、2番目の呼び出しをショートカットできます。
get_bloginfo()
のソースを参照してください。
他のいくつか:
'url'
=> home_url()
'wpurl'
=> site_url()
'stylesheet_url'
=> get_stylesheet_uri()
'stylesheet_directory'
=> get_stylesheet_directory_uri()
'locale'
=> get_locale()
注: TEMPLATEPATH
とSTYLESHEETPATH
は廃止予定の なので、今は単にそれらをそれぞれget_template_directory()
とget_stylesheet_directory()
に置き換えてください。
再:このコメント
ちょうど私が言っていたところです:)。
get_template_directory()
はパスを返し、get_template_directory_uri()
はURLを返すと付け加えます。だから作者は一貫していません:get_bloginfo( 'template_directory' )
とget_template_directory()
は違うものを返します!
ソースに戻って参照してください。
case 'template_directory':
case 'template_url':
$output = get_template_directory_uri();
break;
再:このコメント:
子テーマを開発する際の1つの注意点は、明示的に
get_stylesheet_directory()
を使用する必要があるでしょう。私が間違っているなら誰かが私を直します。
本当ですが、それはいつもそうです。 get_bloginfo()
は、get_stylesheet_directory()
に関連するanythingを返しません。 get_stylesheet_uri()
とget_stylesheet_directory_uri()
のみを返します。