2020-10-10/2023-05-23

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

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

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

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

「タクソノミー」・・・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)
}
}
2020 KumaTechLab.