サポート » 開発版 » WP2.7 locate_template()について

  • 解決済 toemon

    (@toemon)


    WordPressとのかかわりはまだ日が浅く、歴史的背景がわからないので、質問させていただきました。
    wp-includes/theme.php(r9716) 784行 の locate_template()にて

    if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
    			$located = STYLESHEETPATH . '/' . $template_name;
    			break;
    		} else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
    			$located = TEMPLATEPATH . '/' . $template_name;
    			break;
    		}

    ではdefineされたSTYLESHEETPATHやTEMPLATEPATHを使ってますが、get_template_directory()やget_stylesheet_directory()、get_theme_root()のapply_filtersが意味をなさないので
    STYLESHEETPATH -> stylesheet_directory()
    TEMPLATEPATH -> get_template_directory()
    としたほうがよさそうな気がするのですが、なにか理由があってのことなのでしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    2.6 までのソースと比較すると分かりますが、従来 themes.php にハードコードされていた STYLESHEETPATH, TEMPLATEPATH を使う箇所を集約してまとめた関数のようです。

    これらの定数は wp-settings.php にて、get_template_directory(), get_stylesheet_directory() の結果を入れたものとなっており、フィルターは通っています。

    lilyfanさん親切に回答していただき、ありがとうございました。
    wp-settings.php確認してみたら、そうなってました。
    もう少し、wp-settings.phpで処理のフローを追っかけてみます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「WP2.7 locate_template()について」には新たに返信することはできません。