説明
get_term_by() は、名前・スラッグ・IDなどからタームを検索する関数です。
基本構文
get_term_by( string $field, string|int $value, string $taxonomy = '', string $output = OBJECT, string $filter = 'raw' ): WP_Term|array|false
引数
$field:slug/name/idなど$value:検索する値$taxonomy:タクソノミー名$output:返却形式
戻り値
WP_Term。見つからなければ false。
使い方(サンプル)
$term = get_term_by( 'slug', 'news', 'category' );
if ( $term ) {
var_dump( $term->term_id );
}
注意点
- 見つからなければ
falseが返ります。
実務での使いどころ
- スラッグや名前から、タームを取得するとき。
- ターム名が分かっているときに、そのIDを調べるとき。
よくあるミスと対処
$taxonomyを省略している。term_taxonomy_id以外では、タクソノミーの指定が必要。- 存在しないときは
falseが返る。確認せずに使う。 - フィールド名を間違えている(
slug・name・id・term_taxonomy_id)。
NG例
$term = get_term_by( 'slug', 'important' ); // タクソノミーがない
OK例
$term = get_term_by( 'slug', 'important', 'news_cat' );
if ( $term ) {
echo (int) $term->term_id;
}
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| スラッグ・名前から取得 | get_term_by() |
| IDから取得 | get_term() |
| 条件に合うターム一覧 | get_terms() |
関連項目
公式リファレンス:get_term_by() | Function | WordPress Developer Resources

コメント