2025年04月09日
WP関数:get_the_category()
この関数の説明
WP関数の get_the_category() は、投稿IDを指定して[カテゴリ情報]を取得します。
似ている関数にget_category()があります。
関数
get_the_category( $id )
パラメータ
$id (整数) (オプション)
投稿IDを指定します。
省略した場合は、現在の投稿になります。
戻り値
カテゴリ情報がオブジェクト形式で返されます。
オブジェクトの中の主要プロパティは下記になります。
| プロパティ | 名前 | 解説 |
| cat_ID | カテゴリのID(整数) | 文書を抽出するWP_Query()で利用できるキーになります
例)'cat' => これで取得した値 |
| slug | カテゴリのスラッグ名 | 文書を抽出するWP_Query()で利用できるキー
例)'category_name' => これで取得した値 |
| name | カテゴリの名前 | 表示されるカテゴリ名 |
| category_parent | 親のカテゴリID(整数) | 親カテゴリを調べる時に利用します
0:親はありません n:親のカテゴリIDです |
| category_count | カテゴリの投稿数 | このカテゴリの投稿数を表示する時に利用します |
利用事例
①現在の投稿に設定されているカテゴリ情報を取得します。
<?php $cat = get_the_category();?> <!-- 現在の投稿のカテゴリIDの取得 -->
<?php echo 'cat_count='.count($cat).'<br>';?> <!-- 設定されているカテゴリ数 -->
<?php
echo isset($cat[0]) ? 'スラッグ名='.$cat[0] -> slug.'<br>':(""); // カテゴリのスラッグ名
echo isset($cat[0]) ? 'カテゴリ名='.$cat[0] -> name.'<br>':(""); // カテゴリ名
echo isset($cat[0]) ? '投稿数='.$cat[0] -> category_count.'<br>':("");// このカテゴリの投稿数
?>
<pre> <?php print_r($cat);?> <!-- カテゴリ情報を出力 --> </pre>
■1行目:現在の投稿のカテゴリIDを取得します。
■2行目:現在の投稿にカテゴリが幾つ設定されているかをカウントします。
■3~7行目:カテゴリから主要なキーを取得し表示します。
PHP8系からは空の変数を扱うとエラーになるのでisset()関数で空の時の処理を入れています。
上記は0番目のデータから取得していますが、カテゴリの2番目の場合は[1]になります。
■8行目:カテゴリオブジェクトを出力しています。
■結果は下記になります。(参考)
cat_count=1
スラッグ名=wordpress-func
カテゴリ名=WordPress 関数
投稿数=84
Array
(
[0] => WP_Term Object
(
[term_id] => 3
[name] => WordPress 関数
[slug] => wordpress-func
[term_group] => 0
[term_taxonomy_id] => 3
[taxonomy] => category
[description] =>
[parent] => 0
[count] => 84
[filter] => raw
[cat_ID] => 3
[category_count] => 84
[category_description] =>
[cat_name] => WordPress 関数
[category_nicename] => wordpress-func
[category_parent] => 0
)
)
関連情報
関連関数は カテゴリ関連関数 を参照してください。