WordPress Snippet

ワードプレスをカスタマイズしよう

カテゴリに応じた、イントロや画像の挿入

カテゴリーアーカイブページの上部に、そのカテゴリに応じた、イントロや画像を、サブディレクトリにファイルが存在する場合だけ、挿入する

カテゴリをチェックして、カテゴリが、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 '日本語'; 
}

[emulsion_relate_posts]