/ 
 
        
        
カテゴリーの情報を一覧(配列)で取得する、カテゴリー一覧用のWordpressテンプレートタグ。
パラメータで条件を設定したり、戻り値で様々な要素を指定できます。
get_categories() 呼び出しコード
| 呼び出しコード | 説明 | 
|---|---|
<?php $cats = get_categories(); ?> | パラメータなし | 
<?php $cats = get_categories('pad_counts=1&parent=0'); ?> | 直接指定 = パラメータが少ない場合など | 
<?php  | 引数を代入 = パラメータが多い場合など | 
get_categories() パラメータ
| パラメータ | 初期値 | 設定できる値 | 説明 | 
|---|---|---|---|
taxonomy | category | タクソノミーを指定 | タクソノミーから取得 | 
slug | ” | スラッグを指定 | 指定スラッグで取得 | 
orderby | name | count、name、slug、term_group、id | ソート対象 | 
order | ASC | ASC(昇順)、DESC(降順) | ソート順 | 
number | ” | 取得件数 | 省略時は条件に一致するすべてを取得 | 
hide_empty | 1 | 1 (表示しない)、0 (表示する) | 投稿のないカテゴリー | 
include | ” | カテゴリーID /複数時 ,  区切り | 指定カテゴリーのみ | 
exclude | ” | カテゴリーID /複数時 ,  区切り | 取得しないカテゴリー | 
exclude_tree | ” | カテゴリーID /複数時 ,  区切り | 取得しないカテゴリー(子孫カテゴリー含む) | 
pad_counts | 0 | 1(計算する)、0(計算しない) | 子カテゴリーを含めて投稿数を計算する | 
child_of | 0 | カテゴリーID | 指定カテゴリーの子孫カテゴリーを取得 | 
parent | ” | カテゴリーID | 指定カテゴリーの直接の子カテゴリーのみ取得parent=>0  で第一階層のみを取得 | 
hierarchical | 1 | 1 (含める)、0 (含めない) | 「空の親カテの子カテに投稿がある」場合、親カテを含める | 
get_categories() 戻り値
| 変数名 | 型 | 内容 | 
|---|---|---|
term_id | int | カテゴリーID | 
name | string | カテゴリー名 | 
slug | string | カテゴリースラッグ | 
parent | int | 親カテゴリーID | 
count | int | 記事数 | 
description | string | カテゴリー説明 | 
taxonomy | string | taxonomy名 / カテゴリー = ‘category’ | 
term_taxonomy_id | int | taxonomy ID | 
get_categories() の使用例
シンプルな <ul><li> リスト
PHP
<ul>
<?php
  $cats = get_categories();
  foreach ($cats as $cat) { 
?>
  <li><a href="<?php echo get_category_link($cat->term_id); ?>"><?php echo $cat->name; ?></a></li>
<?php } ?>
<ul>
親子 <ul><li> リスト
PHP
<ul>
  <?php /* 第1階層 */
    $cats = get_categories('parent=0');
    foreach ($cats as $cat) { 
      $parent = $cat->term_id;
  ?>
  <li>
    <a href="<?php echo get_category_link($parent); ?>"><?php echo $cat->name; ?></a>
    <?php /* 第2階層 */
       $children = get_categories('parent='.$parent);
       if($children){
    ?>
    <ul class="children">
      <?php foreach ($children as $child) { ?>
      <li>
        <a href="<?php echo get_category_link($child->term_id); ?>"><?php echo $child->name; ?></a>
      </li>
      <?php } ?>
    </ul>
    <?php } ?>
  </li>
  <?php } ?>
<ul>