get_term_by()


WordPress関数get_term_by()は、用語(カテゴリ、タグなど)を名前、スラッグ、ID、またはその他のフィールドに基づいて取得するために使用されます。

構文

get_term_by( string $field, mixed $value, string $taxonomy, string $output = OBJECT, string $filter = 'raw' );

引数の説明:

  • $field (string) — 検索基準となるフィールド名(例: ‘id’, ‘slug’, ‘name’ など)。
  • $value (mixed) — 検索する値。
  • $taxonomy (string) — 用語が属するタクソノミー(例: ‘category’, ‘post_tag’ など)。
  • $output (string) — 結果の返却形式(例: OBJECT, ARRAY_A, ARRAY_N)。デフォルトは OBJECT。
  • $filter (string) — フィルタリング方法(例: ‘raw’, ‘edit’ など)。デフォルトは ‘raw’。

例 1. 名前でカテゴリを取得する

指定された名前のカテゴリを取得します。

<?php
$term = get_term_by( 'name', 'ニュース', 'category' );
echo $term->name;
?>

例 2. IDでタグを取得する

特定のIDに基づいてタグを取得します。

<?php
$term = get_term_by( 'id', 12, 'post_tag' );
echo $term->slug;
?>

例 3. スラッグでカスタムタクソノミーを取得する

カスタムタクソノミーのスラッグを使用して用語を取得します。

<?php
$term = get_term_by( 'slug', 'example-slug', 'custom_taxonomy' );
echo $term->term_id;
?>

例 4. 用語情報を配列形式で取得する

用語のデータを配列形式で取得します。

<?php
$term = get_term_by( 'id', 15, 'category', ARRAY_A );
print_r( $term );
?>

例 5. 用語が存在するかどうかを確認する

指定された条件で用語が存在するかどうかを確認します。

<?php
$term = get_term_by( 'name', 'イベント', 'category' );
if ( $term ) {
    echo '用語が見つかりました: ' . $term->name;
} else {
    echo '用語が見つかりませんでした。';
}
?>

注意事項

get_term_by()は、返される値が false になる場合があります。使用する際は適切なエラーチェックを行ってください。


関連機能: