お問い合わせ
  • WordPressテーマ「Silent」の公式サイト

カスタム投稿タイプとカスタムタクソノミーを追加する方法

カスタム投稿タイプとカスタムタクソノミーを追加する方法

専用のプラグインを使用せずに、カスタム投稿タイプとカスタムタクソノミーを追加する方法のメモです。カスタム投稿タイプはプラグインテリトリーに分類されていますが、ここでは子テーマを使用しています。カスタム投稿タイプのテンプレートファイル階層は、テンプレート階層の外観図を参考にしています。

カスタム投稿タイプ

子テーマのfunctions.phpにコピペします。

function silent_child_custom_post_type() {
	register_post_type(
		'item', // カスタム投稿タイプ名
		array(
			'label'         => 'ブログ2',
			'public'        => true,
			'show_ui'       => true,
			'hierarchicla'  => false,
			'menu_position' => 5,
			'has_archive'   => true,
			'taxonomies'    => array(
				'item-category', // カスタムタクソノミー
				'item-tag', // カスタムタクソノミー
			),
			'show_in_rest'   => true,
			'supports'       => array(
				'title',
				'editor',
				'thumbnail',
				'custom-fields',
				'excerpt',
				'revisions',
			),
		)
	);
}
add_action( 'init', 'silent_child_custom_post_type' );

カスタムタクソノミー

子テーマのfunctions.phpにコピペします。

function silent_child_custom_taxonomy() {
	register_taxonomy(
		'item-category', // カスタムタクソノミー
		'item', // カスタム投稿タイプ名
		array(
			'label'        => 'カテゴリ',
			'public'       => true,
			'show_ui'      => true,
			'hierarchical' => true,
			'show_in_rest' => true,
		),
	);
	register_taxonomy(
		'item-tag', // カスタムタクソノミー
		'item', // カスタム投稿タイプ名
		array(
			'label'        => 'タグ',
			'public'       => true,
			'show_ui'      => true,
			'hierarchical' => false,
			'show_in_rest' => true,
		),
	);
}
add_action( 'init', 'silent_child_custom_taxonomy' );

本テーマの場合

本テーマの場合は、上記コードを子テーマのfunctions.phpにコピペするだけで完了します。上記コードの「カスタム投稿タイプ名」と「カスタムタクソノミー」部分を変更しても、「パンくずリスト」「投稿下部メタ情報(カテゴリー、タグ)」「関連記事」等のコードに手を加える必要はありません。

投稿ページ

投稿ページは、「single.php」が適用されています。

アーカイブページ

アーカイブページは、「archive.php」が適用されています。そのままでも使用可能ですが、投稿一覧ページを親テーマと同じレイアウトに変更したい場合は以下の方法で可能です。

  1. 親テーマの「home.php」ファイルを子テーマにコピペします。
  2. 子テーマの「home.php」のファイル名を「archive-item.php」に変更します。

この記事を書いた人

Colors Themes

SilentテーマとClockテーマの開発者です。2013年頃から、テンプレート・テーマ制作に取り組んでいます。汎用性の高いデザインでの制作を心がけています。SNSアカウントはOGPチェック用です。