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

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

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

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」∠)_ 面白かった (1)
  • (`・ω・´) 役に立った (1)
  • (・∀・) 参考になった (5)