1,189 views
この記事は最終更新から 1921日 が経過しています。
(1) やりたいこと
WORDPRESSではない外部のプログラムから、
WORDPRESS投稿記事のカテゴリー名を取得したい。
前提条件
投稿記事の「ID」がわかっている。
(2) やってみる
カテゴリー名を知りたい投稿記事のIDを ★★★ として以下に記す。
カテゴリー名の情報は、WORDPRESSが使用しているデータベースに保存されている。
具体的には…
・wp_terms テーブルにカテゴリー名が保存されている。
・wp_term_relationships テーブルに関連付けられている投稿記事のIDが保存されている。
1. wp_term_relationshipsテーブルで投稿記事に関連付けられているカテゴリーIDを取得
wp_term_relationships テーブルでは、object_id に投稿記事の ID が保存されているものを探す。
そうして得られたレコードの term_taxonomy_id にカテゴリーIDが格納されている。
よって…
以下のように取得できる。
・SQL
SELECT * FROM `wp_term_relationships` WHERE `object_id`='★★★';
・PHP
$ID = $record['term_taxonomy_id'];
ここで得られたカテゴリーIDを ▲▲▲ として記す。
※一つの投稿IDに対して、複数のカテゴリーが関連付けられている場合もある。
この場合、上記クエリに対して複数レコードがヒットする。
2. wp_termsテーブルからカテゴリー情報を取得
上記 1. で得られたIDをキーに、wp_terms テーブルからカテゴリー名を取得する。
・SQL
SELECT * FROM `wp_terms` WHERE `term_id`='▲▲▲';
・PHP
$category_name = $record['name'];
これでカテゴリー名が取得できた。