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

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

関数リファレンス/is page template

提供: WordPress Codex 日本語版
移動先: 案内検索

説明

この条件分岐タグを使用すると、任意のページのテンプレートであるかどうかを判断することができます。オプションとして固定ページで特定のページテンプレートを使用しているかのチェックを行います。これはブール関数で、Ture または False を返します。このタグはループの前で使用する必要があり、ループ内では動作しません (下記注釈を参照)。

使い方

<?php is_page_template( $template ); ?>

パラメータ

$template
string) (オプション) ページテンプレートのファイル名
初期値: なし

戻り値

(真偽値) 
(指定した) ページテンプレートであれば True、そうでなければ false を返します。

用例

ページテンプレート 'about' を使用しているか調べる例です。 特定のページテンプレートを指定する場合、他の条件文とは異なり、about.php や my_page_template.php などのファイル名を指定する必要があることに注意して下さい。

if ( is_page_template( 'about.php' ) ) {
	// 'about.php' が使われている場合
} else {
	// 'about.php' が使われていない場合
}

サブディレクトリにあるページテンプレートの場合

もしページテンプレートがサブディレクトリにある場合 (WP 3.4以降)、ページテンプレートの前にフォルダ名とスラッシュを追加します。 例:

is_page_template( 'templates/about.php' );

ループ内では使用できません

ループ内においてグローバル変数が上書きされる為、is_page_template() はループ内では動作しません。ループの後で使用する場合は wp_reset_query() を呼び出す必要があります。

代替案

ページテンプレートスラッグが post_meta 内に格納されてから、ページテンプレートが割り当てられている投稿であればpost_meta を直接参照してページテンプレートを調べることが可能です。これは is_page_template() を内部的に使用する方法です。


get_page_template_slug( $post_id ) /en 関数は現在割り当てられているページテンプレートのスラッグを返します (ページテンプレートが割り当てられていない場合は空の文字列を、$post_id に該当する 固定ページ が無い場合には false)。ループ内、外に関わらず簡単に割り当てられているページテンプレートを調べることができます。


<?php 
  // ループ内:
  if ( get_page_template_slug( get_the_ID() ) ){
     // ページテンプレートが使用されています
  }

  // どんな場所でも:
  if ( get_page_template_slug( $some_post_ID ) ){
     // ふむふむ
  }
?>

更新履歴

新規導入: 2.5.0

ソースファイル

is_page_template()wp-includes/post-template.phpにあります。

関連

条件分岐タグis_404(), is_admin(), is_admin_bar_showing(), is_archive(), is_attachment(), is_author(), is_category(), is_comments_popup(), is_date(), is_day(), is_feed(), is_front_page(), is_home(), is_local_attachment(), is_main_query, /is_multi_author, is_month(), is_new_day(), is_page(), is_page_template(), is_paged(), is_plugin_active(), is_plugin_active_for_network() /en, is_plugin_inactive() /en, is_plugin_page() /en, is_post_type_archive(), is_preview() /en, is_search(), is_single(), is_singular(), is_sticky(), is_tag(), is_tax(), is_taxonomy_hierarchical(), is_time(), is_trackback(), is_year(), in_category(), in_the_loop(), is_active_sidebar(), is_active_widget(), is_blog_installed() /en, is_rtl(), is_dynamic_sidebar(), is_user_logged_in(), has_excerpt(), has_post_thumbnail(), has_tag(), pings_open(), email_exists(), post_type_exists(), taxonomy_exists(), term_exists(), username_exists() /en, wp_attachment_is_image(), wp_script_is()



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


最新英語版: WordPress Codex » Function_Reference/is_page_template最新版との差分