公式にある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 )
貴重なまとめ記事をありがとうございます。とても参考になりました!
MovableTypeにはカテゴリーの上下関係を調べる条件タグがあるのですが、
WordPressでは見当たらず、自分で関数を書いたりしていました。
cat_is_ancestor_of()という関数があったのですねorz
英語力が必要だと痛感しました。
いえ、中途半端な記事で申し訳ないです(== ;)
テンプレートタグにない便利な関数がコアにあったりしてるんですが、
それが利用できるのがWordoressのいいところかなと思ってます。