カテゴリーアーカイブページの上部に、そのカテゴリに応じた、イントロや画像を、サブディレクトリにファイルが存在する場合だけ、挿入する
カテゴリをチェックして、カテゴリが、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 '日本語';
}