カテゴリーリスト、タグクラウドを表示する [WordPressテーマ作成の手順4]

今回はカテゴリーリストタグクラウドを表示する。
このブログでは、これらを sidebar.phpに表示させている。 このほかのsidebarにある「全記事一覧」や「リンク」などは、WordPressのタグは使わず、普通にHTMLでリンクを貼っただけ。

カテゴリーリストタグクラウドを表示して、クリックでアーカイブを開くようにするのは、ブログ形式としてはスタンダード。
企業サイトなどを作るなら、WordPressのカスタムメニューを使用する。

*全記事一覧ページの作り方は後日(固定ページを利用して、ループをひと工夫するだけ)
*WordPressのカスタムメニューを使う場合はこちらを参考に:
オリジナルテーマ作成(3) | 超初心者のサーバー移転とドメイン移管&ついでにWordPressも!

本日のINDEX

スポンサーリンク

<li>要素で書き出すことを念頭に

カテゴリーリストはデフォルトで<li>要素で書き出される。
その他、引数「style」に「none」を指定すると、各カテゴリーは<br>要素で区切られるようになる。

タグクラウドは、デフォルト(format=flat)は、半角スペースで区切られて表示される。
ここで format=list で指定すると、<li>要素で書き出すことができる。
<li>要素のほうが、CSSで指定しやすいので便利。

どちらも<li>要素で書き出すことを念頭に、使用する箇所をコーディングをしておくことが大事。

カテゴリーリストを出力する wp_list_categories

このブログでは、サイドバーのメニュー部分を<dl>要素で組んでいる。
カテゴリーリストやタグクラウドのタイトルは、<dt>で出し、<dd>内にカテゴリーリストが入るようにしている。

カテゴリーリスト部分のphpソースはこのように。

<dl id="sideBarMenu">
<dt id="categoryMenuTtl"><img src="<?php bloginfo('template_url');?>/images/sideDt_cat.png"><h4>Categories</h4></dt>
<dd class="txtCenter catName">
<ul>
<?php wp_list_categories('title_li=&exclude=16');?>
</ul>
</dd>
</dl><!-- ^ .sideBarMenu END-->

5行目がカテゴリーリストの出力部分。
wp_list_categories() の()内に、引数と値を指定。引数と値のセットは「&」で区切って羅列する。

<dt>でタイトルを出すので、「title_li=」と引数 title_li を空指定
これをやらないとデフォルトで「カテゴリー」とタイトルが出る。

このデフォルトでのタイトルは<li>要素で書き出され、その中に<ul><li>要素でリストが表示される。

<li class="categories">カテゴリー
<ul>
<li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">カテゴリー名</a></li>
<li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">カテゴリー名</a>
    <ul class="children">
    <li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">子カテゴリー名</a></li>
    <li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">子カテゴリー名</a></li>
    </ul></li>
<li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">カテゴリー名</a></li>
</ul>
</li>

独自のタイトルを付けたければ、例えばこのように指定。
タイトルのテキストを<h2>要素で表示できる。

<?php wp_list_categories('title_li=<h2>' . __('好きなタイトルのテキスト') . '</h2>' ); ?>

また、引数「exclude」でIDを指定して、特定のカテゴリ名のみ非表示にすることもできる。

カテゴリーリストで、特定のカテゴリのみ非表示に

特定のカテゴリ名を除外するには、引数「exclude=数字」で除外したいカテゴリ名のID(数字)を指定する。
複数指定したければ、カンマで区切る。

<?php wp_list_categories('exclude=3,5,9,16');?>

カテゴリのIDを確認するには、管理画面の「投稿 > カテゴリー」で、一覧上のカテゴリ名にロールオーバーし、画面左下に表示されるURLを見る
またはそのままクリックで「カテゴリーの編集」画面を開き、ブラウザのアドレスバーで確認。

ちなみに、逆に特定のカテゴリーのみ表示したければ、引数「include」を使う。

wp_list_categories の引数と値の一覧(リンク)

wp_list_categories の引数と値の一覧はこちらで確認:
テンプレートタグ/wp list categories – WordPress Codex 日本語版

タグクラウドを出力する wp_tag_cloud

タグクラウドは、使用回数によって文字サイズが決まるリスト。使用回数が多いほど文字が大きくなるアレ。
デフォルト(format=flat)では、半角スペースで区切られて表示されるが、format=list で指定すると、<li>要素で書き出せる。こちらのほうがCSSで指定しやすくて便利。

このブログでのタグクラウド部分のphpソースはこのように。

<dl id="sideBarMenu">
<!-- ここにカテゴリーリストのソース -->
<dt id="tagMenuTtl"><img src="<?php bloginfo('template_url');?>/images/sideDt_tag.png"><h4>Tags</h4></dt>
  <dd class="clearfix tagItem">
  <ul>
  <?php wp_tag_cloud('format=list&number=0&smallest=16&largest=16&unit=px&orderby=count');?>
  </ul>
  </dd>
</dl><!-- ^ .sideBarMenu END-->

6行目がタグクラウドの出力部分。
wp_tag_cloud() の()内に、引数と値を指定。引数と値のセットはこちらも「&」で区切って羅列する。

「format=list」で<li>要素での表示を指定。
「orderby=count」で使用数順に並べている(デフォはタグ名のアルファベット順)
「number=0」は表示数。デフォは45個。「0」ですべてを表示になる。

タグクラウドをすべて同じ文字サイズで書き出す

引数「smallest」は最小使用数のタグに使う文字サイズ(デフォは8)、
「largest」は最大使用数の文字サイズ(デフォは22ってけっこうデカイ)。
引数「unit」は文字サイズの単位。デフォはpt。

以下の例では、文字のサイズを16pxに固定。サイズが変わらないようにしている。

<?php wp_tag_cloud('smallest=16&largest=16&unit=px');?>

wp_tag_cloud の引数と値の一覧(リンク)

wp_tag_cloud の引数と値の一覧はこちらで確認:
テンプレートタグ/wp tag cloud – WordPress Codex 日本語版

関連記事

WordPressの Embedカードのリンクを別ウィンドウで開く(PCのみ。スマホ・タブレットはそのまま)

WordPressの Embedカード(ブログカード)のリンクは、デフォルトでは同ウィンドウで開くようになっていますが、これを別ウィンドウ(別タブ)で開くように [記事を読む]

WordPressの Embedカードのスタイルを編集する方法2つ

前回の記事で、WordPress 4.5 の Embedカード(ブログカード)の「テンプレートの構成」や「HTML要素のクラス名」などを調べました。これを元に、 [記事を読む]

WordPress4.5で Embedカードの PHPファイルの構造がだいぶ変わったみたい

前回から WordPressの Embedカード(ブログカード)について調べたことをメモっています。 今回は Embedカードの PHPファイルの構造について [記事を読む]

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。

^