説明
get_the_category() は、投稿が属するカテゴリーを配列で取得する関数です。
基本構文
get_the_category( int|false $post_id = false ): WP_Term[]
引数
$post_id:投稿ID。省略するとループ中の投稿
戻り値
WP_Term の配列。
使い方(サンプル)
$cats = get_the_category();
if ( $cats ) {
echo esc_html( $cats[0]->name );
}
注意点
- 複数のカテゴリーに属していても、順序は保証されません。
- カテゴリーが無いと空配列が返るので、先に確認します。
実務での使いどころ
- 投稿が属するカテゴリーを、配列(オブジェクトの配列)で取得するとき。
- カテゴリー名やスラッグを、リンクなしで表示するとき。
よくあるミスと対処
- 戻り値は配列なので、そのまま
echoできない。$cats[0]->nameのように、オブジェクトのプロパティを使う。 - カスタム投稿タイプのカスタムタクソノミーには使えない。それらは
get_the_terms()を使う。 - 最初のカテゴリーだけが欲しいとき、配列が空でないか確認していない。
NG例
$cats = get_the_category();
echo $cats[0]->name; // カテゴリーが無いと、エラーになる
OK例
$cats = get_the_category();
if ( ! empty( $cats ) ) {
echo esc_html( $cats[0]->name );
}
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| カテゴリーを配列で取得 | get_the_category() |
| カテゴリーのリンク付きHTMLを出力 | the_category() |
| カスタムタクソノミーのタームを取得 | get_the_terms() |
関連項目
the_category()、get_the_terms()
公式リファレンス:get_the_category() | Function | WordPress Developer Resources

コメント