web-dev-qa-db-ja.com

テンプレートパーツの取得とテンプレートの検索機能

Related-posts.phpテンプレートを取得しようとしているところ、私はsingle.phpにいます。問題は、 テンプレート部分の取得 を使用した場合、/ related-posts.phpがwp_Queryのsingle.phpからカスタムの分類名を取得していないことです。

解決策はget_template_partを使うためにrelated-posts.phpで再びwp post用語を得ることです。しかし技術的には、parent(single.php)がすでに持っているので必要ありません。

しかし、 テンプレートの検索機能を使用すると - それは問題なく動作します。この方法はget_template_partより遅くなると思います。私は何をすべきか?

2
wp student

まず第一に、 get_template_partは内部的にlocate_template を使っているので、後者の方が遅いというあなたの気持ちは間違っています。

コードを見てみると、get_template_partlocate_templateのラッパーにすぎません。したがって、一方がうまくいっていなくても、2つの可能性があります。

  • get_template_partを間違って使っています
  • それが機能しないようにする"get_template_part_{$slug}"アクションへのフックがあります

ただし、locate_templateが機能する場合はそれを使用してください。遅くならないように、実行を遅くする関数が"get_template_part_{$slug}"にフックされていると、正直に言うとかなり速くなります。

2
gmazzap