概要
get_template_part
関数は、任意のテンプレートファイルを読み込む機能を提供します。この関数は、WordPressのテーマ開発において、コードの再利用性を高めるためによく使用されます。主に以下の用途で利用されます。
- ヘッダーの分離(header.php)
- フッターの分離(footer.php)
- カスタム投稿タイプのテンプレート読み込み
- ウィジェットエリアの管理
- ループ内での各投稿の出力
- ページや投稿のカスタマイズ
- AJAXリクエストのハンドリング
- 特定の条件に応じたテンプレートの選択
この関数の構文は以下の通りです。
get_template_part( $slug, $name = null );
$slug
: 読み込むテンプレートファイルの基本名。$name
: オプショナルで、特定のテンプレートを指定するための名前。
戻り値はありません。
関連する関数
使用可能なWordPressのバージョン: 3.0以降
コアファイルのパス: wp-includes/theme.php
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | 〇 |
after_setup_theme | 〇 |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | 〇 |
template_redirect | 〇 |
get_header | 〇 |
wp_head | 〇 |
サンプルコード
サンプル1: ヘッダーの読み込み
このサンプルコードでは、header.php
テンプレートファイルを読み込んでいます。
<?php get_template_part('header'); ?>
サンプル2: カスタム投稿タイプのテンプレート読み込み
カスタム投稿タイプ「portfolio」のテンプレートを読み込むサンプルです。
<?php get_template_part('template-parts/content', 'portfolio'); ?>
サンプル3: ループ内での投稿の表示
このコードは、各投稿を表示するためのテンプレートファイルを呼び出すものです。
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php get_template_part('template-parts/content'); ?>
<?php endwhile; endif; ?>
サンプル4: フッターの読み込み
フッターとしてfooter.php
ファイルを呼び出しています。
<?php get_template_part('footer'); ?>
サンプル5: ウィジェットエリアの読み込み
このサンプルでは、ウィジェットエリア用のテンプレートを読み込む例です。
<?php if (is_active_sidebar('my-widget-area')) : ?>
<?php get_template_part('template-parts/widget', 'my-widget-area'); ?>
<?php endif; ?>
引用元のページ:
1. https://developer.wordpress.org/reference/functions/get_template_part/