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

概要

wp_get_post_categories関数は、特定の投稿記事に関連付けられたカテゴリー情報を取得するために使用されます。この関数は、投稿の記事がどのカテゴリーに属しているのかを簡単に確認・表示することができるため、テーマやプラグインの開発において非常に便利です。主に、投稿のメタ情報を表示する際や、カテゴリーごとのフィルタリング機能を実装する際に役立ちます。

使用される状況の例

  1. 投稿の詳細ページでカテゴリーを表示する
  2. カテゴリーごとのアーカイブリストを作成する
  3. 関連投稿をカテゴリー別にフィルタリングする
  4. サイドバーウィジェットでカテゴリーをリスト表示する
  5. カテゴリーに基づいてSEO関連のメタ情報を生成する
  6. 投稿のカテゴリーに基づいてカスタムクエリを作成する
  7. 管理画面でのカテゴリーの管理や表示
  8. 投稿に付随するカテゴリー情報をJSON形式でAPI経由で提供する

構文

wp_get_post_categories( $post_id, $args );

パラメータ

  • $post_id (int): カテゴリーを取得したい投稿のID。
  • $args (array): オプションの引数。引数には、’orderby’や’order’などが含まれる。

戻り値

成功した場合、指定した投稿のカテゴリーIDの配列を返します。失敗した場合は空の配列を返します。

関連する関数

使用可能なバージョン

  • WordPress 2.0.0以降

コアファイルのパス

wp-includes/category.php

サンプルコード

サンプルコード1: 投稿記事のカテゴリー情報を表示する

このコードは、特定の投稿のカテゴリーを取得し、リストとして表示します。

$post_id = 1; // 投稿IDを指定
$categories = wp_get_post_categories($post_id);

foreach ($categories as $category_id) {
    $category = get_category($category_id);
    echo $category->name . '<br>'; // カテゴリー名を表示
}

引用元: https://developer.wordpress.org/reference/functions/wp_get_post_categories/

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

このサンプルは、特定の投稿に関連付けられたカテゴリーの数を取得して表示します。

$post_id = 1; // 投稿IDを指定
$categories = wp_get_post_categories($post_id);
$category_count = count($categories);

echo 'この投稿は ' . $category_count . ' カテゴリーに属しています。';

引用元: https://developer.wordpress.org/reference/functions/wp_get_post_categories/

サンプルコード3: 投稿が特定のカテゴリーに属しているか確認する

このコードは、特定の投稿が指定したカテゴリーに属しているかどうかを確認します。

$post_id = 1; // 投稿IDを指定
$target_category_id = 5; // 確認したいカテゴリーIDを指定
$categories = wp_get_post_categories($post_id);

if (in_array($target_category_id, $categories)) {
    echo 'この投稿は指定したカテゴリーに属しています。';
} else {
    echo 'この投稿は指定したカテゴリーには属していません。';
}

引用元: https://developer.wordpress.org/reference/functions/wp_get_post_categories/

サンプルコード4: カテゴリーごとのアーカイブリンクを作成する

このコードは、投稿のカテゴリーに基づいてアーカイブリンクを生成します。

$post_id = 1; // 投稿IDを指定
$categories = wp_get_post_categories($post_id);

foreach ($categories as $category_id) {
    $category_link = get_category_link($category_id);
    echo '<a href="' . esc_url($category_link) . '">' . get_cat_name($category_id) . '</a><br>';
}

引用元: https://developer.wordpress.org/reference/functions/wp_get_post_categories/

サンプルコード5: APIレスポンスにカテゴリーを含める

このサンプルは、APIレスポンスに投稿のカテゴリー情報を含めます。

$post_id = 1; // 投稿IDを指定
$response = [];
$response['categories'] = wp_get_post_categories($post_id);

header('Content-Type: application/json');
echo json_encode($response);

引用元: https://developer.wordpress.org/reference/functions/wp_get_post_categories/

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

アクション名 使用可能性
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

非推奨または削除されたバージョン

特に非推奨または削除されたワードプレスバージョンはありません。

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


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