> Wordpress > Wordpressでカスタムテンプレートを使用している時に条件分岐する方法
Wordpressでカスタムテンプレートを使用している時に条件分岐する方法

Wordpressでカスタムテンプレートを使用している時に条件分岐する方法

Wordpressではカスタムページテンプレートを作成し、記事編集画面でテンプレートを選択することでフロントへの出力方法を変更できます。
カスタムテンプレートを使用している時、ヘッダーやフッター・function.phpなどのカスタムテンプレート以外の部分で「このテンプレートを使用していた時はこれをする」などの条件分岐をしたい場合があるかと思います。

そういった時に利用できる関数をいくつか紹介します。

is_page_template()で指定したテンプレートファイルが利用されているか確認する

is_page_template()関数では、特定のテンプレートファイルが利用されているか確認することができます。
引数に指定したページテンプレートが利用されていれば True、そうでなければ false を返します。

ループ内では使用できません。
ループ内で使用したい場合はwp_reset_query()を行う必要があります。

is_page_template()の記述例

if ( is_page_template( 'my_page_template.php' ) ) {
    // 'my_page_template.php' が使われている場合
} elseif ( is_page_template( 'page-template/my_page_template.php' ) ) {
    // 'page-template/my_page_template.php' が使われている場合
} else {
    // 'my_page_template.php' が使われていない場合
}

※引数に指定するテンプレートファイルは、テーマフォルダからのパスを記載します。

 get_page_template_slug()関数でページテンプレートのスラッグを取得する

get_page_template_slug()関数を利用すると、ページテンプレートを使用している場合に使用しているページテンプレートのスラッグを取得できます。
引数で指定した記事にスラッグが取得できればスラッグ、そうでなければfalseを返します。

ループ内でも使用できます。

get_page_template_slug()の記述例

// ページテンプレートが使用されているか確認.
if ( get_page_template_slug( $post_id ) && get_page_template_slug( $post_id ) == 'my_page_template' ){
   // 'my_page_template'というページテンプレートが使用されている場合.
} elseif ( get_page_template_slug( $post_id ) ){
   // ページテンプレートが使用されている場合.
} else {
   // ページテンプレートが使用されていない場合.
}

※引数に指定するテンプレートファイルは、テーマフォルダからのパスを記載します。

参考URL

Wordpress「関数リファレンス/is page template」
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/is_page_template

この記事が気に入ったらシェアしてください

関連記事

Wordpressのカスタム投稿タイプで一覧・詳細画面を作らない方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Comment Form

コメント投稿はこちらをクリックしてください
  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)