テンプレート階層でロードされるテンプレートを変更する

WordPressには、テンプレート階層と呼ばれる テンプレートのファイル名の命名規則があります。

例えば、アーカイブを表示する時には、archive.php というテンプレートを適用するというルールです。

このルールを変更するために、いくつかの方法があります。

その中の一つに、

[$type]_template

フィルタがあります。

$type には、以下の値を使うことが出来ます。

  • index
  • 404
  • archive
  • author
  • category
  • tag
  • taxonomy
  • date
  • home
  • front_page
  • page
  • paged
  • search
  • single
  • singular
  • attachment

フィルタのコードサンプル

functions.php

<?php
add_filter('404_template','my_404_template');

function my_404_template( $template ){
	$template= get_template_directory().'/no.php';
	return $template;
}
?>

上記のコードは、デフォルトで、404.phpが使われる場面で、no.php テンプレートを使用してページを表示します。

関連リンク

Plugin API/Filter Reference/single template

[emulsion_relate_posts]