WordPressでDBに登録されたカテゴリ情報を取得する方法

WordPressのデータベースについて Cocoon

WordPressのカテゴリ情報を取得する方法

WordPressに登録されたカテゴリはget_the_category();で配列情報として取得されます。記事投稿IDがわかるかどうかでカテゴリの取得方法が違います。

ループ内get_the_category();
ループ内外get_the_category(投稿ID);

get_the_categoryで取得できる配列データ

項目データ型意味
term_id整数カテゴリーID
name文字列カテゴリー名
slug文字列カテゴリースラッグ
term_group整数カテゴリーグループ
term_taxonomy_id整数カテゴリータクソノミーID
taxonomy文字列タクソノミー名 =’category’
description文字列カテゴリーの説明
parent整数親カテゴリーの ID
count整数カテゴリーに登録された投稿の数
object_id整数オブジェクトID
cat_ID整数term_id と同じ
category_count整数count と同じ
category_description文字列description と同じ
cat_name文字列name と同じ
category_nicename文字列slug と同じ
category_parent整数parent と同じ

parent、category_parent は親カテゴリーがない時は”0”になり、親カテゴリがある場合はそのカテゴリIDが値になります。

slug(スラッグ)は、カテゴリー名をURL用に半角小文字の英数字とハイフンのみで記述されます。

taxonomy(タクソノミー)は、分類という意味で、値に’category’が入ります。

wp_termmetaテーブルに登録されたカテゴリ情報を取得する方法

WordPressでは、カテゴリもPOST(記事)と同じように、カスタムフィールドが利用できます。

テーマごとに使われているカスタムフィールドが異なるので、KEYになる値はDBで”wp_termmeta”テーブルを調べてみてください。

Cocoonで設定したカテゴリのアイキャッチ画像を呼び出す場合

Cocoonはカテゴリのカスタムフィールドが設定されているので、参考に呼び出してみます。

DBから取得したい情報の`wp_termmeta`.`meta_key` の値を調べます。

WordPressのカテゴリのカスタムフィールド情報
<?php
//表示したいSingle.phpなどのページに記述する
//--------------------------------
//投稿記事のカテゴリ情報を取得
//--------------------------------
$catgory = get_the_category(); //配列で取得
$cat_ID = $catgory[0]->cat_ID;//カテゴリID
$cat_name = $catgory[0]->name;//カテゴリ名
//対象カテゴリIDのカスタムフィールドからアイキャッチ画像を取得
$c_eyecatch = get_term_meta( $cat_ID, 'the_category_eye_catch_url', true );//meta_keyを参照してmeta_valueの値を返す
?>
<img src="<?= $c_eyecatch ; ?>" alt="<?= $cat_name; ?>" >

カテゴリのカスタムフィールドは使い勝手いいので、ぜひ試してみてください。

Cocoonのカテゴリページ

カテゴリページでは、既にカテゴリIDが取得されているので、get_the_category();が不要になります。

Cocoonのテーマでは、IDやタイトルが既に取得済になっています。

$cat_id;//CocoonのカテゴリID
タイトルとURLをコピーしました