ど素人から毛を生やす。<延>

カスタム投稿のカテゴリ一覧

Web > WordPress > カスタム投稿 2014年2月19日(最終更新:3年前)

このページは2014.2.19に作成されています。時代の流れとそぐわない可能性があったり、僕が今以上のど素人だった頃の記事だったりするので、新しい記事を探してみるのも良いかもしれません。

どもです。
爪が痛い餅。です。

筋肉痛はまだ来ません(´・ω・`)

今回はカスタム投稿について。

カスタム投稿を一般の投稿と同じように扱うとき、欲しい機能のひとつがサイドバーのカテゴリ一覧だと思います。

そこで調べてみたところ、
「指定の投稿タイプのカテゴリ一覧を表示」はありましたが、
「現在の投稿タイプのカテゴリ一覧を表示」はありませんでした。

ので、作ってみました。

<ul>
<?php $customPostType = get_post_type();?>
<?php wp_list_categories(array('title_li' => '', 'taxonomy' => $customPostType.'_ca') ); ?>
</ul>

以上。
wp_list_categoriesを使っているので、カスタムはカテゴリのときと同じようにできると思います。

注意点としましては、$customPostType.'_ca'のところ。
僕はカスタム投稿のカテゴリ名をいつも「カスタム投稿名_ca」で作っているのでこうなっていますが、ここに記載するのはfunctions.phpに記載した「カスタム投稿のカテゴリ分類名」です。
ですので、このやり方はカスタム投稿のカテゴリ分類名を「カスタム投稿名+任意の文字列」で作っている場合にのみ有効といえます。その場合、'_ca'のところを設定した語尾に変更してください。

また、

<ul>
<?php $customPostType = get_post_type();?>
    <?php wp_list_categories(array('title_li' => '', 'taxonomy' => $customPostType.'_ca') ); ?>
<?php if ($customPostType == 'post'): ?>
    <?php wp_list_categories(array('title_li' => '') ); ?>
<?php endif; ?>
</ul>

と追記すると、
「通常の投稿」と「カスタム投稿」のどちらにも対応したカテゴリ一覧が作れます。
通常の投稿を表示する場合には条件分岐をつけてあげてください。
でないと、post投稿のページにはカスタム投稿のカテゴリは表示されませんが、カスタム投稿のページにはpostの投稿のカテゴリが表示されてしまいます。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった  (0)
  • (`・ω・´) 役に立った (1)
  • (・∀・) 参考になった (5)