【WordPress】get_template_partでパーツを読み込ませる方法

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」の使い方は一通り確認できたかと思います。忘れたときはここで確認しようと思います(笑)。

それでは、最後までお読みいただきありがとうございました!

スポンサーリンク