タクソノミー取得によく使う関数

タクソノミー取得によく使う関数

カスタム投稿タイプでタクソノミーを取得したいとき、名前が似ていてよく忘れるのでまとめです。

基本的な情報はこのような形です。

「タクソノミー」・・・custom_cat

「ターム」・・・ブラジル(burazil)、ID->14

       ____サントス(santos)、ID->17

       _____サンパウロ(sanpauro)、ID->21

「カスタム投稿タイプ」・・・ID->77、ブラジル、サントスのタクソノミー持ち

get_the_terms

指定された投稿IDに紐づいている指定されたタクソノミーのタームを返します。

get_the_terms( $id, $taxonomy );
get_the_terms(77,'custom_cat');
array(2) {
  [0]=>
  object(WP_Term)#358 (11) {
    ["term_id"]=>
    int(14)
    ["name"]=>
    string(12) "ブラジル"
    ["slug"]=>
    string(6) "brazil"
    ["term_group"]=>
    int(0)
    ["term_taxonomy_id"]=>
    int(14)
    ["taxonomy"]=>
    string(10) "custom_cat"
    ["description"]=>
    string(0) ""
    ["parent"]=>
    int(0)
    ["count"]=>
    int(2)
    ["filter"]=>
    string(3) "raw"
    ["term_order"]=>
    string(1) "0"
  }
  [1]=>
  object(WP_Term)#359 (11) {
    ["term_id"]=>
    int(17)
    ["name"]=>
    string(12) "サントス"
    ["slug"]=>
    string(6) "santos"
    ["term_group"]=>
    int(0)
    ["term_taxonomy_id"]=>
    int(17)
    ["taxonomy"]=>
    string(10) "custom_cat"
    ["description"]=>
    string(0) ""
    ["parent"]=>
    int(14)
    ["count"]=>
    int(1)
    ["filter"]=>
    string(3) "raw"
    ["term_order"]=>
    float(0.1)
  }
}

get_term_children

指定されたタクソノミ-に紐づいた指定されたタームIDの子タームのIDを配列で返します。

get_term_children( $term_id, $taxonomy );
get_term_children(14,'custom_cat');
array(2) {
  [0]=>
  int(17)
  [1]=>
  int(21)
}

get_term_link

指定されたタームのアーカイブページのリンクを返します。

get_term_link( $term, $taxonomy );
get_term_link('brazil','custom_cat');
string(39) "http://sample.local/custom-slug/brazil/"

get_terms

指定されたタクソノミー、またはタクソノミーリストに含まれるタームを返します。

タクソノミーの取得関数の中で一番使用する関数だと思います。

argsにはオプションを指定することができます。そのオプションにより取得するタームをいろいろな条件で絞り込めます。

get_terms( $taxonomies, $args );
get_terms('custom_cat',['parent' => 14]);
array(2) {
  [0]=>
  object(WP_Term)#4289 (11) {
    ["term_id"]=>
    int(17)
    ["name"]=>
    string(12) "サントス"
    ["slug"]=>
    string(6) "santos"
    ["term_group"]=>
    int(0)
    ["term_taxonomy_id"]=>
    int(17)
    ["taxonomy"]=>
    string(10) "custom_cat"
    ["description"]=>
    string(0) ""
    ["parent"]=>
    int(14)
    ["count"]=>
    int(1)
    ["filter"]=>
    string(3) "raw"
    ["term_order"]=>
    float(0.1001)
  }
  [1]=>
  object(WP_Term)#4287 (11) {
    ["term_id"]=>
    int(21)
    ["name"]=>
    string(15) "サンパウロ"
    ["slug"]=>
    string(7) "sanpuro"
    ["term_group"]=>
    int(0)
    ["term_taxonomy_id"]=>
    int(21)
    ["taxonomy"]=>
    string(10) "custom_cat"
    ["description"]=>
    string(0) ""
    ["parent"]=>
    int(14)
    ["count"]=>
    int(1)
    ["filter"]=>
    string(3) "raw"
    ["term_order"]=>
    float(0.10011)
  }
}