/
タクソノミー(category, post_tag, カスタムタクソノミー
)を指定して、タクソノミーの情報を一覧(配列)で取得するWordpressテンプレートタグ。
パラメータで条件を設定したり、戻り値で様々な要素を指定できます。
get_terms() 呼び出しコード
get_the_terms()
は、第一引数の指定により、カスタムタクソノミーだけではなくカテゴリーやタグ一覧も呼び出すことができます。
呼び出しコード | 説明 |
---|---|
<?php $cats = get_terms('taxonomy=タクソノミー名'); ?> | タクソノミー (必須) のみ指定 |
<?php | パラメータを代入 |
get_terms() パラメータ
パラメータ | 初期値 | 設定できる値 | 説明 | taxonomy |
---|---|---|---|---|
taxonomy | タクソノミーを指定 必須 | タクソノミーから取得 | 共通 | |
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 /複数時 , 区切り | 取得しないターム(子孫ターム含む) | category taxonomy |
pad_counts | 0 | 1(計算する)、0(計算しない) | 子タームを含めて投稿数を計算する | category taxonomy |
child_of | 0 | タームID | 指定タームの子孫タームを取得 | category taxonomy |
parent | ” | タームID | 指定タームの直接の子タームのみ取得parent=>0 で第一階層のみを取得 | category taxonomy |
hierarchical | 1 | 1 (含める)、0 (含めない) | 「空の親タームの子タームに投稿がある」場合、親タームを含める | category taxonomy |
get_terms() 戻り値
変数名 | 型 | 内容 |
---|---|---|
term_id | int | タームID |
name | string | ターム名 |
slug | string | タームスラッグ |
parent | int | 親タームID |
count | int | 記事数 |
description | string | ターム説明 |
taxonomy | string | taxonomy名 |
term_taxonomy_id | int | taxonomy ID |
get_terms() の使用例
カスタムタクソノミー
PHP
<ul>
<?php
$terms = get_terms('taxonomy=タクソノミー名');
foreach ($terms as $term) {
?>
<li><a href="<?php echo get_term_link($term->term_id,'タクソノミー名'); ?>"><?php echo $term->name; ?></a></li>
<?php } ?>
<ul>
カテゴリー
PHP
<ul>
<?php
$terms = get_terms('taxonomy=category');
foreach ($terms as $term) {
?>
<li><a href="<?php echo get_term_link($term->term_id,'category'); ?>"><?php echo $term->name; ?></a></li>
<?php } ?>
<ul>
タグ
PHP
<ul>
<?php
$terms = get_terms('taxonomy=post_tag');
foreach ($terms as $term) {
?>
<li><a href="<?php echo get_term_link($term->term_id,'post_tag'); ?>"><?php echo $term->name; ?></a></li>
<?php } ?>
<ul>