WordPress カテゴリ毎にテンプレートファイルを分ける方法

/ WordPress / Comment[0]

サンプルコード

single.php

//初期化 $file_name = ''; // [カテゴリスラッグ]-single.php というファイル名を指定 $cat_slug = $wp_query->query_vars["category_name"]; $file_name = $cat_slug . '-single.php'; //テンプレートを読み込み $file = locate_template( $file_name ); //ファイルが存在しなかった場合(デフォルト)のテンプレート if( !$file ) $file = locate_template( 'default-single.php' ); //テンプレートを読み込み include_once( $file );

以下のカテゴリがある場合、

  • ブログ(blog)
  • ニュース(news)
  • 事例(example)

上記例のsingle.phpによって以下のカテゴリ毎のテンプレートファイルに振り分けられるようになります。カテゴリのファイルが存在しなかった場合、default-singe.phpが読まれます。

  • blog-single.php
  • news-single.php
  • example-single.php

カテゴリ毎にテンプレートを分けることで柔軟なデザインができるようになります。

archive.php

archive.phpも同様に下記の通りになります。

//初期化 $file_name = ''; // [カテゴリスラッグ]-archive.php というファイル名を指定 $cat_slug = $wp_query->query_vars["category_name"]; $file_name = $cat_slug . '-archive.php'; //テンプレートを読み込み $file = locate_template( $file_name ); //ファイルが存在しなかった場合(デフォルト)のテンプレート if( !$file ) $file = locate_template( 'default-archive.php' ); //テンプレートを読み込み include_once( $file );
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可