ワードプレスのget_the_category関数の使用方法・解説

概要

get_the_category関数は、投稿データのカテゴリー情報を取得するために使用されます。この関数は、特定の投稿に関連するカテゴリーを取得し、表示や操作に役立てることができます。特に、以下のようなシーンでよく利用されます:

  1. 投稿の詳細ページでカテゴリーを表示する
  2. セマンティックなナビゲーションを提供する
  3. タグや関連投稿の表示時にカテゴリー情報を活用する
  4. カテゴリーごとのアーカイブページに遷移するリンクを生成する
  5. デザイン上のスタイルを切り替える条件を提供する
  6. カテゴリーごとのフィルタリング機能を実装する
  7. 投稿リストやサイドバーウィジェットにカテゴリーデータを表示する
  8. カテゴリーを用いたカスタムクエリの構築

構文

get_the_category( $post_id );

パラメータ

  • $post_id (int) (オプション):取得したい投稿のID。省略した場合は、グローバル $post オブジェクトからIDが取得されます。

戻り値

  • 配列:指定された投稿のカテゴリー情報を含む配列。各カテゴリーはオブジェクト形式で返され、その中にはID、名前、スラッグ、説明などが含まれます。

関連する関数

使用可能なバージョン

  • WordPress 2.0.0 以降

コアファイルのパス

  • wp-includes/category.php

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード1: 投稿のカテゴリーを表示

$categories = get_the_category();

if ( ! empty( $categories ) ) {
    foreach ( $categories as $category ) {
        echo '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '">' . esc_html( $category->name ) . '</a> ';
    }
}

このサンプルコードは、現在の投稿に関連するすべてのカテゴリーを取得し、それぞれのカテゴリー名をリンク形式で表示します。

サンプルコード2: カテゴリー名のカスタムリストを作成

$categories = get_the_category();
$category_names = wp_list_pluck( $categories, 'name' );

echo '<ul>';
foreach ( $category_names as $name ) {
    echo '<li>' . esc_html( $name ) . '</li>';
}
echo '</ul>';

このコードでは、投稿のカテゴリー名だけをリスト形式で表示します。

サンプルコード3: カテゴリー情報をカスタムフィルタで使用

add_filter('the_content', function( $content ) {
    if ( is_single() ) {
        $categories = get_the_category();
        if ( ! empty( $categories ) ) {
            $content .= '<div class="post-categories">Categories: ';
            foreach ( $categories as $category ) {
                $content .= esc_html($category->name) . ', ';
            }
            $content = rtrim($content, ', ') . '</div>';
        }
    }
    return $content;
});

このサンプルは、投稿の内容が表示される際に、カテゴリ情報を付加しています。

サンプルコード4: カテゴリーに基づいた投稿をクエリする

$categories = get_the_category();
$category_ids = wp_list_pluck( $categories, 'term_id' );

$args = array(
    'category__in' => $category_ids,
    'posts_per_page' => 5,
);

$related_posts = new WP_Query( $args );
if ( $related_posts->have_posts() ) {
    while ( $related_posts->have_posts() ) {
        $related_posts->the_post();
        echo '<h2>' . get_the_title() . '</h2>';
    }
    wp_reset_postdata();
}

このコードは、現在の投稿のカテゴリーに一致する別の投稿を最大5件まで取得して表示します。

サンプルコード5: 特定のカテゴリーの投稿数を取得する

$category_id = 1; // 任意のカテゴリーID
$category = get_category( $category_id );
echo '投稿数: ' . $category->count;

このサンプルは、特定のカテゴリーIDに関連する投稿数を取得し、表示します。

この関数について質問する


上の計算式の答えを入力してください