カスタム投稿タイプでカテゴリーとタグを追加して一覧でも表示させる方法

今回は、カスタム投稿タイプをfunctions.phpにコードを書き足している場合にそのカスタム投稿タイプでカテゴリーとタグをつかえるようにする方法と、カテゴリーとタグのアーカイブページでカスタム投稿タイプの記事が表示されるようにする方法を解説します。

カスタム投稿タイプで、WordPressにデフォルトで用意されている「カテゴリー」と「タグ」を使えるようにする方法

functions.phpのカスタム投稿タイプを追加している関数内に下記を追記します。

register_taxonomy_for_object_type('category', 'article');
register_taxonomy_for_object_type('post_tag', 'article');

具体的にはこのように書きます。

function add_custom_post() {
register_post_type(
	'article',
		array(
			'label'=> '記事',
			'labels' => array(
			'menu_name' => '記事'
			),
		'public' => true,
		'query_var' => true,
		'hierarchical' => false,
		'rewrite' => array('slug' => 'article'),
		'has_archive' => true,
		'show_in_rest' => true,
		'supports' => array(
			'title',
			'editor',
			'thumbnail',
			'excerpt',
			'author'
			)
	)
);
register_taxonomy_for_object_type('category', 'article');
register_taxonomy_for_object_type('post_tag', 'article');
}
add_action('init', 'add_custom_post');

カテゴリーとタグのアーカイブページでカスタム投稿タイプの記事が表示されるようにする方法

functions.phpに下記を追記します。

カテゴリーアーカイブにカスタム投稿タイプを含める方法

function add_post_category_archive( $wp_query ) {
if ($wp_query->is_main_query() && $wp_query->is_category()) {
$wp_query->set( 'post_type', array('post','article'));
}
}
add_action( 'pre_get_posts', 'add_post_category_archive' , 10 , 1);

タグアーカイブにカスタム投稿タイプを含める方法

function add_post_tag_archive( $wp_query ) {
if ($wp_query->is_main_query() && $wp_query->is_tag()) {
$wp_query->set( 'post_type', array('post','article'));
}
}
add_action( 'pre_get_posts', 'add_post_tag_archive' , 10 , 1);
お問い合わせ・ご相談

お見積りのご依頼やそのほかのお仕事のご相談などはお問い合わせフォームからお問い合わせください。

お問い合わせする
会社案内ダウンロード

弊社の会社案内をPDFでご用意しております。社内での検討時などにご利用ください。

ダウンロードする

お電話でのお問い合わせはこちら

※電話番号はおかけ間違いのないようご注意ください。
※セールス目的のお電話はお断りしております。