2018.05.07
WordPress
wordpressのカテゴリリストを自由にカスタマイズできるget_categoriesの活用法
wordpressのカテゴリ一覧を出力したいときに、一番シンプルな方法はwp_list_categories
を利用することです。ですがこの方法で出力されるコードは成形が一定のもので、リンク無しのリストや投稿数をタグの中に含めるような出力をすることはできません。
これを編集可能にするにはget_categories
が簡単で有用です。
今回はそのwordpressタグ、get_categories
について紹介します。
get_categoriesのサンプルコード
<?php $args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'category', 'pad_counts' => false ); $categories = get_categories( $args ); ?>
上記のパラメータは必要なものだけ記述すれば問題ありません。表示順や出力するカテゴリーorタクソノミをここで指定できます。ここではすべてデフォルト設定のまま利用したこととします。
get_categoriesの呼び出しサンプルコード
<?php foreach( ( get_the_category() ) as $category ):?> ////呼び出したいコード//// <?php endforeach;?>
上記のforeach内に呼び出したいコードを記述することでループ出力することができます。出力用の戻り値は以下になります。
- term_id
- カテゴリー ID
- name
- カテゴリー名
- slug
- カテゴリーのスラッグ
- term_group
- カテゴリーのグループ
- term_taxonomy_id
- カテゴリーのタクソノミー ID
- taxonomy
- タクソノミー名
- description
- カテゴリーの説明
- parent
- 親カテゴリーの ID
- count
- カテゴリーに登録されている投稿の数
- object_id
- オブジェクト ID
以上を利用して、div
タグを使って投稿数を表示したカテゴリリスト
を出力したい場合のサンプルコードが以下になります。(aタグ内を見やすくするために改行しています。)
<?php foreach( ( get_the_category() ) as $category ):?> <div> <a href="<?php echo get_permalink();?>"> <?php echo $category->name;?>(<?php echo $category->count;?>) </a> </div> <?php endforeach;?>
まとめ
get_categories
はカテゴリリストに表示したい項目を編集したいときや、見た目をサイトに合わせて編集したいときに有用です。カスタム投稿タイプへの転用も簡単ですので、wordpress制作に利用してみてください。