• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/get template part

提供: WordPress Codex 日本語版
< 関数リファレンス
2015年8月12日 (水) 22:01時点におけるMiccweb (トーク | 投稿記録)による版 (最新のマージ)

移動先: 案内検索

テンプレートパーツ (ヘッダー、サイドバー、フッター以外) をテンプレートに読み込みます。これにより、テーマがコードのセクションを再利用すること、また子テーマが親テーマのセクションを置き換えることが容易になります。

テーマのその名前のテンプレートパーツをインクルードします。name が指定された場合は、特定の部分をインクルードします。テーマに{slug}.php ファイルが無い場合は、インクルードしません。

パラメータに関しては、"{slug}-{name}.php" を呼び出します。

使い方

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

get_template_part の値を返しません、そして一致するテンプレートファイルの検索に失敗した場合に警告しません。

失敗について聞きたい場合は、以下を使用:

   <?php assert( "locate_template( array('$slug-$name.php', '$slug.php'), false, false )" ); ?>

パラメータ

$slug
文字列) (必須) 一般テンプレートのスラッグ名
初期値: なし
$name
文字列) (オプション) 特定テンプレートの名前
初期値: なし

用例

子テーマで loop.php を使用する

テーマフォルダが wp-content/themes、親テーマが twentyten、子テーマが twentytenchild である場合、以下のコードが、

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

下記の優先順でPHP関数のrequire()を実行します。

  1. wp-content/themes/twentytenchild/loop-index.php
  2. wp-content/themes/twentyten/loop-index.php
  3. wp-content/themes/twentytenchild/loop.php
  4. wp-content/themes/twentyten/loop.php


テーマサブフォルダの使用

テーマディレクトリ内のサブフォルダでこの関数を使用するためには、単純にフォルダ名をスラッグの前に追加するだけです。例えば、"partials"というフォルダーがテーマディレクトリ内にあり、"content_page.php" というテンプレートパーツがそのサブフォルダにある場合、get_template_part() を以下のように用います:

<?php get_template_part( 'partials/content', 'page' ); ?>


一般的な nav.php テンプレートファイルを使用してナビゲーションバーをテーマに追加します。

<?php get_template_part( 'nav' );           // Navigation bar (nav.php) ?>
<?php get_template_part( 'nav', '2' );      // Navigation bar #2 (nav-2.php) ?>
<?php get_template_part( 'nav', 'single' ); // Navigation bar to use in single pages (nav-single.php) ?>

テンプレートに変数を渡す

Because the template is being required, it will not have access to any variables you define within the calling theme's PHP code, unless you explicitly declare them as global.

However, load_template() /en, which is called indirectly by get_template_part() extracts all of the WP_Query query variables, into the scope of the loaded template. So you can use set_query_var() to make your variable available to the template part.

// You wish to make $my_var available to the template part at `content-part.php`
set_query_var( 'my_var', $my_var );
get_template_part( 'content', 'part' );

変更履歴

  • 新規追加: 3.0

ソースファイル

get_template_part()wp-includes/general-template.php にあります。


外部リソース

インクルードタグ: get_header(), get_footer(), get_sidebar(), get_template_part(), get_search_form(), comments_template()


このページ「関数リファレンス/get template part」は未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています


関数リファレンステンプレートタグ目次もご覧ください。

最新英語版: WordPress Codex » Function Reference/get_template_part最新版との差分