WordPressの高度なカスタマイズ⑤ カスタム分類をつくってみる

Wordpress

こんにちは。fsです。
これまではカスタム投稿タイプという新しいコンテンツを表示させるためのページをつくってきました。
※参考ページはこちら
↓↓↓↓↓↓↓

実際に使ってみると、

「投稿ページみたいに分類できるようにしたい!」

といったニーズが出てくるのはよくあることです。

そんなわけで、今回はカスタム分類をつくっていきたいと思います。

カスタム分類の作成

それではつくっていきましょう。
分類を追加するにはこちらのregister_taxonomyという関数を使います。
functions.phpにこの関数を追記していきます。

<?php
/**
 * fs functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package fs
 */

add_action('init',function(){
	register_post_type('item',[
		'public' => true,
		'label' => '商品',
		'menu_position' => 5,
		'menu_icon' =>'dashicons-store',
		'show_in_rest' => true,
	]);
	register_taxonomy('genre', 'item', [
		'label' => '商品ジャンル',
		'hierarchical' => true,
		'show_in_rest' => true,
	]);

});

register-post_typeの下に書くのが一般的です。
今回は”商品ジャンル”という分類名を追加します。

1つ目のパラメーターに分類名、2つ目に対象を指定、3つ目に配列を入れていきます。
※2つ目のパラメーターをpageとすると、固定ページにも分類が追加できますlabelは分類名、hierarchicalは階層構造をとること、show_in_restはブロックエディター対応です。
※hierarchicalをfalseにするとタグ(親カテゴリをとらない)の入力になります

読み込んでみると、このように商品ジャンルを追加できるようになりました。

商品ジャンルが追加されています

これで管理画面上でジャンル名も追加できるようになりました。

カスタム分類一覧ページを作成

続いてカスタム分類の一覧ページをつくっていきます。
事前準備としていくつか商品とジャンルを追加していきます。

管理画面上で商品ジャンルを追加していきます

次にテンプレート階層を確認して、カスタム分類ページを確認し、対象となるファイル(taxonomy.php)を作ります。

ジャンル名をthe_archive_titileというテンプレートタグを使い表示させ、liタグを使い商品名を箇条書きで表示させます。

<?php
/**
 * The template for displaying all single posts
 *
 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
 *
 * @package fs
 */

get_header();
?>

	<main id="primary" class="site-main col-md-8">
        <h3 class="mt-2"><?php the_archive_title();?></h3>
        <ul>
		<?php
		while ( have_posts() ) :
			the_post();
        ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php			
			// If comments are open or we have at least one comment, load up the comment template.
			if ( comments_open() || get_comments_number() ) :
				comments_template();
			endif;

		endwhile; // End of the loop.
		?>
        </ul>

	</main><!-- #main -->

これで表示させると、ジャンル別の一覧が表示できるようになりました。

無事ジャンル別一覧が表示されました

細かいレイアウトはお好みに合わせてcssで調整していきましょう。

まとめ カスタム分類で簡単カテゴライズ!

いかがだったでしょうか。

カスタム分類を使うと、専用のコンテンツのカテゴリー分けがしやすくなり、よりカスタマイズ性が上がります。
カテゴリーのタイプ、タグのタイプもhierarchicalをtrueかfalseにするかで簡単に分けられます。

とても便利な機能なので、これからWordpressテーマを作成される方は、ぜひ試してみてください。

今回は以上です。
最後までお読みいただきありがとうございました。

簡単操作!MacBookでWordpressテーマをつくってみる!

この投稿は役に立ちましたか? 役に立った 役に立たなかった 7 人中 7 人がこの 投稿 は役に立ったと言っています。

コメント

海外ブログバナー

にほんブログ村 海外生活ブログへ

海外ブログバナー

にほんブログ村 海外生活ブログへ

シンガポールの古本屋さん

タイトルとURLをコピーしました