[WP]Category, Tag and Taxonomy Functions

公式にあるFunction Referenceの自分用適当メモその2。
Category, Tag and Taxonomy Functionsの関数リストを上から順に書き散らした。
分からないのは華麗にスルー。

またまた長いけどこのまま行くことにした。途中で力尽きた

補足:
IDは作成順に振られますが、Category・LinkCategory・TagのIDは全部ひっくるめての通し番号になります。
なので、いきなりCategoryのID番号が飛ぶことがあります。

Category functions in category.php
カテゴリーに関連する関数。

get_all_category_ids

登録されている全てのカテゴリーIDを配列で返す。

get_categories(parameters)

parametersの指定にマッチしたカテゴリーをオブジェクト形式で返す。
パラメータはwp_list_categoriesと似てる。

get_category($category_id,$output,$filter)

指定したIDのカテゴリーをオブジェクト形式で返す。
$outputの引数をARRAY_Aにすると連想配列、ARRAY_Nにすると普通の配列で返す。

get_category_by_path($category_path, $full_match(bool), $output)

パスで指定したカテゴリーを返す。
?cat=n形式ではないURLのことらしい

get_category_by_slug($slug)

slugで指定したカテゴリーを返す。

get_cat_ID($category_name)

$cat_nameで指定したカテゴリーのIDを返す。日本語使えない。

get_cat_name($category_id)

IDで指定したカテゴリーの名前を返す。

cat_is_ancestor_of($cat1, $cat2)

$cat1で指定したカテゴリが$cat2の親である場合にtrueを返す。(どれだけ下の階層でもヒットすればtrue)
引数はカテゴリーIDで、数値でないと常にfalseになる。(’1′,’4′)ではなく(1,4)で指定。

Tag Functions in category.php
タグの関数。

get_tags()

タグを配列形式で返す。ループ外でも使用できる。

Array ( 
[0] => stdClass Object ( 
[term_id] => 3 
[name] => wordpress
[slug] => wordpress
[term_group] => 0 
[term_taxonomy_id] => 3 
[taxonomy] => post_tag 
[description] => 
[parent] => 0 
[count] => 1 
) 
)

get_tag($tag_id,$output,$filter)

指定したIDのタグを返す。デフォルトはオブジェクト形式。
$outputの引数をARRAY_Aにすると連想配列、ARRAY_Nにすると普通の配列。

Term Functions in taxonomy.php
categoryとかpostみたいな分類名についての関数。

is_taxonomy($taxonomy)

$taxonomyで指定した分類名が存在したらtrue、しなければfalseを返す。

is_taxonomy_hierarchical($taxonomy)

$taxonomyで指定したオブジェクトが階層的かどうか調べる。
階層が成立するか、という感じ?

get_term($term_id, $taxonomy, $output, $filter)

$term_idと$taxonomyで指定したオブジェクトを返す。

以下同じ結果になる

<div style="background-color:#CCCCCC">
<?php 
print_r(get_category('1'));
?>
</div>
<div style="background-color:#ffCCCC">
<?php 
$tarm = get_term(1,'category');
print_r($tarm);
?>
</div>

get_term_by($field, $value, $taxonomy, $output, $filter)

$taxonomyで指定した範囲内で、$fieldで指定したエリア’slug’、’name’、’id’に$valueで指定した値があるものをオブジェクトで返す。

$tarm = get_term_by('id','1','category');
print_r($tarm);
//実行結果
//stdClass Object ( [term_id] => 1 [name] => Default [slug] => uncategorized [term_group] => 0 [term_taxonomy_id] => 1 [taxonomy] => category [description] => [parent] => 0 [count] => 1 )

get_term_children

get_terms

is_term

register_taxonomy

wp_get_object_terms

get_category_link

1件のコメント

  1. 貴重なまとめ記事をありがとうございます。とても参考になりました!

    MovableTypeにはカテゴリーの上下関係を調べる条件タグがあるのですが、
    WordPressでは見当たらず、自分で関数を書いたりしていました。

    cat_is_ancestor_of()という関数があったのですねorz
    英語力が必要だと痛感しました。

    Reply
  2. いえ、中途半端な記事で申し訳ないです(== ;)
    テンプレートタグにない便利な関数がコアにあったりしてるんですが、
    それが利用できるのがWordoressのいいところかなと思ってます。

    Reply
  3. Pingback: 機械忍者

Leave a Comment.