当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「関数リファレンス/get template part」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(最新のマージ)
(使い方: )
18行目: 18行目:
 
  <?php get_template_part( $slug, $name ); ?>
 
  <?php get_template_part( $slug, $name ); ?>
  
<code>get_template_part</code> doesn't return a value and doesn't warn if it fails to find a matching template file.
+
<code>get_template_part</code> の値を返しません、そして一致するテンプレートファイルの検索に失敗した場合に警告しません。
  
If you want to hear about failures, use:
+
失敗について聞きたい場合は、以下を使用:
  
 
     <?php assert( "locate_template( array('$slug-$name.php', '$name.php'), true, false )" ); ?>
 
     <?php assert( "locate_template( array('$slug-$name.php', '$name.php'), true, false )" ); ?>
  
 
<div id="Parameters">
 
<div id="Parameters">
 +
 
== パラメータ ==
 
== パラメータ ==
 
</div>
 
</div>

2015年6月16日 (火) 11:09時点における版

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

テーマのその名前のテンプレートパーツをインクルードします。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', '$name.php'), true, 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最新版との差分