カテゴリーアーカイブページの上部に、そのカテゴリに応じた、イントロや画像を、サブディレクトリにファイルが存在する場合だけ、挿入する
カテゴリをチェックして、カテゴリが、ASCⅡ以外の場合には、カテゴリIDのテンプレートをインクルードします。
テンプレートが存在しない場合には、テキストの、カテゴリタイトルを表示します。
Note:
テンプレートのインクルードには、get_template_part()を使うのが普通ですが、今回の場合は、テンプレートパートファイルがサブディレクトリにあるため、locate_template()を使っています。
tested:3.4.1
<?php $category_title= single_cat_title('', false); switch( mb_detect_encoding( $category_title ) ){ case('ASCII'): /*何もしない*/ break; default: $category_title= get_cat_ID( $category_title ); break; } if( ! empty( $category_title ) ){ $category_title= 'cat-template/'.$category_title.'.php'; $result= locate_template( array( $category_title ), true, true ); if( empty( $result ) ){ ?><h1 class="page-title"> <?php printf( __( 'カテゴリ: %s', 'my_theme' ), '<span>' . single_cat_title( '', false ) . '</span>' ); ?> </h1><?php } } ?>
http://ja.forums.wordpress.org/topic/11570?replies=4(@source)
日本語かどうかチェックする方法には、以下のような正規表現を使う事もある模様
if( preg_match( "/[一-龠]+ |[ぁ-ん]+ |[ァ-ヴー]+ |[a-zA-Z0-9]+/u", $category_title )=== 1 ) { echo '日本語'; }