WordPress WP_Term_Query を使ってターム情報を出力する方法

Last update 
/ Posted by Takumi Hirashima

WordPress WP_Term_Query を使ってターム情報を出力する方法

WordPress の WP_Term_Query を使ってターム情報を出力する方法を紹介します。
WP_Term_Query は、WordPress 4.6 から追加された新しいクラスになります。使用するには WordPress 4.6 以上にアップデートする必要があります、ご注意ください。

ターム一覧の出力方法

WP_Term_Query を使ってターム一覧の出力する、基本的な方法を紹介します。
次のコードは、タクソノミーが category の場合に、タームの一覧をアーカイブページのリンク付きで出力します。

<ul>
<?php 
  $args = array(
    'taxonomy' => 'category', // タクソノミーの指定
    'orderby' => 'name', // カテゴリー名のアルファベット順
    'order' => 'ASC', // ASC:昇順(初期値)、DESC:降順
    'hide_empty' => false, // 投稿のないカテゴリーの扱い、true:空カテゴリーを隠す、false:全て表示
  );
  $the_query = new WP_Term_Query($args);
  foreach($the_query->get_terms() as $term){ // 繰り返し処理の開始
  $term_link = get_term_link($term->slug,'category'); // タクソノミーの指定
?>
    <li><a href="<?php echo $term_link; ?>"><?php echo $term->name.' ('.$term->count.')'; ?></a></li>
<?php
  } // 繰り返し処理の終了
?>
</ul>

タームオブジェクトには様々なフィールドが含まれます。タームの名前や説明を返す場合は次のコードを参照してください。

<?php 
  $args = array(
    'taxonomy' => 'category', // タクソノミーの指定
    'orderby' => 'name', // カテゴリー名のアルファベット順
    'order' => 'ASC', // ASC:昇順(初期値)、DESC:降順
    'hide_empty' => false, // 投稿のないカテゴリーの扱い、true:空カテゴリーを隠す、false:全て表示
  );
  $the_query = new WP_Term_Query($args);
  foreach($the_query->get_terms() as $term){ // 繰り返し処理の開始
    echo $term->term_id; // タームID
    echo $term->name; // ターム名前
    echo $term->slug; // タームスラッグ
    echo $term->term_group; // 親タームのターム ID
    echo $term->term_taxonomy_id; // タームが属するタクソノミーのID
    echo $term->taxonomy; // タームが属するタクソノミーの名前
    echo $term->description; // タームディスクリプション
    echo $term->parent; // 親タームのタームID
    echo $term->count; // タームが使われている回数
    echo $term->filter;
    echo $term->term_order;
  } // 繰り返し処理の終了
?>

その他のタームの出力方法

その他のタームの出力方法は次の投稿にまとめています、合わせてご覧ください。

WordPress ターム情報を取得して出力する方法

まとめ

WordPress の WP_Term_Query を使ってターム情報を出力する方法を紹介しました。

私が続けて読みたい関連記事

スポンサーリンク