カスタム分類と、分類された投稿の表示方法について

WordPressでは、デフォルトで組み込まれているカテゴリやタグの他に自分自身で独自の分類を作成する事ができます。

WordPressのカスタム分類を作成し、分類項目ごとのコンテンツの表示方法についてメモします。

カスタム分類の登録

ここでは、便宜的にテーマのfunctions.phpを使って登録します。

<?php
register_taxonomy(
	'nobita',//分類名
	'post', //分類の対象
	array(
	'label'=> 'のびた',//管理画面のメニューテキスト
	'hierarchical'=> false,//※ 関連する諸設定
	)
);
?>

上記の作業で、管理パネルに新しい分類名が表示され、新規の分類項目の作成や編集が出来るようになります。

次に、分類項目を指定してそれらの項目を含む投稿の表示を行って見ます。

表示については、固定ページテンプレートで行いました

test.php

以下のサンプルでは、諸事情によりquery_postを使っていますが、サブクエリであれば、get_postsやWP_Queryの方がよい場合もあります。

このメモは、WordPressフォーラムでの質問に対する回答の意味合いがあり、投稿本文が空の場合は、リンクがつかない表示になります。

必要ない場合は、特定のターム一覧で内容がない記事タイトルはリンクなしにしたいを参照いただき、不要部分を削除してください。

<?php 
/*
 *Template Name: test
 */
$args= array(
	'post_type'=> 'post',
	'tax_query'=> array(
		array(
			'taxonomy'=> 'nobita',//分類名
			'field'=> 'slug',//フィールド
			'terms'=> array('hige','kami','hanage')//項目名
		)
	)
);
query_posts($args);
?>
<ul>
<?php 
if(have_posts()){
	$list_html=
	while (have_posts()) {
		the_post();
		$naiyou= get_the_content();
		
		if( ! empty( $naiyou ) ) {
			?><li><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li><?php
		} else {
			?><li><?php the_title(); ?></li><?php
		}
	}
}
wp_reset_query(); 
?>
</ul>

固定ページを新規作成し、ページ属性のテンプレート’test’を選択して保存すれば、一覧が表示できます。

[emulsion_relate_posts]