特定のカテゴリのみリストに表示したい

カテゴリの名前とリンクを出力するときに、wordpressには「wp_list_categjories()」という便利なテンプレートタグがあります。

特定のカテゴリのみリストに表示したいのですが、このカテゴリーをリンクつきで表示させるテンプレートタグをデフォルトで使うと、投稿があるカテゴリは全部表示されてしまいます。

ジャンルがいろいろ混ざってくると、分かりづらくなってしまうので、ページによって表示するカテゴリを変えられると便利ですよね。

調べたところ、パラメータに、見出し、投稿数、カテゴリーの階層の表示レベル、カテゴリの除外などが指定できるとあったので、これを使って出力したら上手くできました。

カテゴリ一覧を表示

投稿のあるカテゴリすべてを表示させるのにはwp_list_categjories()。
※カテゴリーというタイトルを表示させたくなかったので、以下のように「title_li=’」を空にして記述する。
カテゴリ名のみリストになって出力されました。


<ul>
<?php wp_list_categories('title_li='); ?>
</ul>

表示させたいカテゴリーのみ表示

パラメータに、「include」とカテゴリーの ID コンマ区切りで指定します。
下記はカテゴリーidが3と5と7のみを表示させる場合の例です。


<ul>
<?php wp_list_categories('include=3,5,7&title_li='); ?>
</ul>

これで、特定のカテゴリーのみ表示されます。

除外したいカテゴリを指定して表示

下記はカテゴリーidが1と10を除外して表示させる場合の例です。


<ul>
<?php wp_list_categories('exclude=1,10&title_li='); ?>
</ul>

これで、除外したいカテゴリ以外のカテゴリが表示されます。

カテゴリーに断層がある場合

親子関係がある場合、入れ子で表示するかしないか、最上位の親だけ表示するなどができます。

その場合は、「depth」というパラメータを使い、以下のような数字を指定します。

  • 0: すべての子カテゴリーを表示 (デフォルト)
  • -1: すべてのカテゴリをフラットなリストで表示
  • 1: 最上位カテゴリーのみを表示
  • n: n(数値)断層目まで表示。

カスタム分類(ターム)のリストを表示

以下はカスタム分類が「marumaru」だった場合の例です。


<ul>
<?php wp_list_categories(array(
'taxonomy' => 'marumaru',
その他のパラメータ
)); ?>
</ul>

カテゴリリストのCSS

wp_list_categjories()では、ulタグで囲まれ、liタグにcat-itemというクラスもついたHTMLで出力されましたので、スタイルを整えカテゴリリストができました。