WordPressでサイトを作るときに「get_header」「get_footer」は使いますが、「get_template_part」はあまり使いませんが、オリジナルテーマを作る場合は「get_template_part」も使う場面があります。
「get_header」「get_footer」と比べると「get_template_part」を使う機会は少ないのでメモしておきます。
読み込ませたいファイルの「置き場所」や「ファイル名」によって書き方が変わりますので、それぞれの使い方を見ていきます。
スポンサーリンクファイル名による違い
ファイル名の違いだけを確認したいので、読み込ませたいファイルはテーマフォルダに置いてあるとします。
「-」がない場合
ファイル名が「myparts.php」とします。この場合、下記で読み込ませることができます。
get_template_part('myparts');
「-」がある場合
ファイル名が「parts-myparts.php」とします。この場合、下記のどちらでも読み込ませることができます。
get_template_part('parts','myparts'); get_template_part('parts-myparts');
「get_template_part」は1つ目の引数に「-」より前の「parts」、2つ目の引数に「-」より後ろの「myparts」を指定することができます。これはカテゴリーというイメージで大丈夫です。「動物」の中の「犬」、と同じで「parts」の中の「myparts」という感じです。
ただ、「get_template_part(‘parts-myparts’);」でも取得できます。つまり「-」はカテゴリーで分けるためにも使えますし、ただの名称の一部としても使えます。どちらで利用するかは好みなので、自分が管理しやすい方をお選びください。
僕は「-」がある場合、「get_template_part(‘parts’,’myparts’);」で取得した方が分かりやすいかなぁと思います。
ファイルの置き場所による違い
ファイルの置き場所の違いだけを確認したいので、読み込ませたいファイル名は「myparts.php」はとします。また、テーマフォルダ名は「mytheme」とします。
読み込ませたいファイルがテーマフォルダ「mytheme」にある場合
読み込ませたいファイルはテーマフォルダ「mytheme」にあるので「mytheme/myparts.php」にあります。この場合、下記で読み込ませることができます。
get_template_part('myparts');
読み込ませたいファイルがテーマフォルダ「mytheme」内のフォルダ「parts」にある場合
テーマフォルダ内に「parts」というフォルダがあるとします。読み込ませたいファイルはその中にあるので「mytheme/parts/myparts.php」にあります。この場合、下記で読み込ませることができます。
get_template_part('parts/myparts');
注意点
テーマフォルダ「mytheme」内にある場合はパス指定は不要ですが、読み込ませたいファイルが下の階層にある場合は、テーマフォルダからの相対パスを書く必要があります。注意点としてはこれくらいです。
以上が「get_template_part」の基本的な使い方になるかと思います。次に一通り実例を載せておきます。
(参考)実例まとめ
テーマフォルダ名は「mytheme」です。下記は実際にWPで検証して問題なかった結果です。
1.mytheme/myparts.php
読み込ませたいファイルが「mytheme/myparts.php」にある場合は下記で読み込ませることができます。
get_template_part('myparts');
2.mytheme/parts-myparts.php
読み込ませたいファイルが「mytheme/parts-myparts.php」にある場合は下記のどちらでも読み込ませることができます。
get_template_part('parts', 'myparts'); get_template_part('parts-myparts');
3.mytheme/mydir/myparts.php
読み込ませたいファイルが「mytheme/mydir/myparts.php」にある場合は下記で読み込ませることができます。
get_template_part('mydir/myparts');
4.mytheme/mydir/parts-myparts.php
読み込ませたいファイルが「mytheme/mydir/parts-myparts.php」にある場合は下記のどちらでも読み込ませることができます。
get_template_part('mydir/parts', 'myparts'); get_template_part('mydir/parts-myparts');
まとめ
これで「get_template_part」の使い方は一通り確認できたかと思います。忘れたときはここで確認しようと思います(笑)。
それでは、最後までお読みいただきありがとうございました!
スポンサーリンク