WordPress get_template_part()関数

Last Updated: 2015 年 08 月 11 日 댓글

WordPress テーマのindex.phpファイルなどを見ると、次のようなコードが使用されていることをよく見ることができます。

<?php get_template_part( 'content', get_post_format() ); ?>

上記のコードの意味を正確に理解するために WordPress Codexページで get_template_partを見ると、get template partを次のように定義しています。

テンプレートパーツ(header、sidebar、footer以外の部分)をテンプレートにロードする。 テーマでコードのセクションを簡単に再利用できるようにしチャイルドテーマが親テーマのセクションを交換する簡単な方法である。

簡単に言えば、コードの特定の部分を再利用するためにget_template_partを使用してロードできることを意味します。 そして、親テーマではなく、まずチャイルドテーマ(子テーマ)のファイルを先に探すので、コードを上記のように処理すると、より簡単に子テーマから特定のコード部分を先にロードでき、「チャイルドテーマが親テーマのセクションを置き換える簡単な方法」と表現したようです。 使用法は次のとおりです。

<?php get_template_part( $slug ); ?>
<?php get_template_part( $slug, $name ); ?>

例えば、

<?php get_template_part( 'loop', 'index' ); ?>

この場合、次の順序でファイルをロードします。

  1. WP-コンテンツ/themes/子テーマフォルダ/loop-index.php
  2. WP-コンテンツ/themes/親テーマフォルダ/loop-index.php
  3. WP-コンテンツ/themes/子テーマフォルダ/loop.php
  4. WP-コンテンツ/themes/親テーマフォルダ/loop.php

さて、最初に提示したコードに戻りましょうか? 大体気づいたと思います。 関数はデフォルトでcontent.phpファイルをロードします。 しかし、より正確に表現すると:

gallery 記事タイプの場合、content-gallery.phpを、quote文タイプの場合、content-quote.phpをincludeしようとします。 このような特定のファイルが存在しない場合content.phpファイルをロードします。 (ここ 参考)ユーザー文のタイプについては、 ここを参考にしてみてください。


コメントを残す

コメント