Cat Speak

札幌在住のWebデザイナー・コモモのブログ

ホーム > ウェブ制作Tips > WordPress > get_terms関数について

get_terms関数について

親カテゴリに属する子カテゴリ一覧を表示する」の中で、get_terms関数を使ってカテゴリIDの一覧を取得した際に、気になったので調べてみました。 get_termsは、タクソノミー情報を取得するための関数です。

基本的な使い方

<?php get_terms( $taxonomies, $args ) ?>

$taxonomiesには、category等のタクソノミーを指定して情報を取得することができます。

category:カテゴリー
post_tag:投稿タグ
nav_menu:メニュー
link_category:リンクのカテゴリー

例)カテゴリID4に属する子孫カテゴリIDを配列で取得する。

ソース

$args = array(
'child_of' => 4,
'orderby' => 'id',
'fields' => 'ids'
);
$terms = get_terms('category', $args);
var_dump ($terms);

出力結果

array(3) {
[0]=> string(1) "8"
[1]=> string(2) "10"
[2]=> string(2) "12"
}

個人的には、get_category等と比較すると、 get_categoryでは決まっている情報が配列に入るが、get_termsはカテゴリだけでははない他(タグ・メニュー・リンクカテゴリ)のタクソノミー情報も取得でき、さらに必要な情報だけを選んで配列に入れることができるというイメージでした。

※タクソノミーについては、 「WordPressのカスタムタクソノミーを使えるようにするまでのメモ」 でとても分かりやすく解説されています。 get_terms関数を調べて「タクソノミー」という言葉を知りました。 get_categoryで返される配列に、なぜnameと、cat_nameなど同じような値が2回入るのか不思議だったのですが、「タクソノミー」としてのnameと、「タクソノミーの1種であるカテゴリー」としてのcat_nameということなのですね。

2 Responses to “get_terms関数について”

  1. […] get_terms関数について | Cat Speak カテゴリー: Web関連学習記録, WordPress|タグ: WordPress, テンプレートタグ コメントorトラックバックはまだありません […]

コメントを残す

人気の記事