開発ブログ

WWWクリエイターズが送る、Git、CSS、HTML、コマンドライン、Macの便利機能など、開発に関する役立ち情報発信します。気まぐれに更新。

WordPressの、term/category 取得関数まとめ – 目的に合わせて

最終更新:2017-05-12 by Joe

WordPressでterm(ターム)category(カテゴリ)を取得する関数がややこしいのでまとめました。

目的別でどれを使うべきか?という観点です。細かい仕様はDevサイト見て下さい。

混乱しないポイントは、下記の3大ターム関数だけ使うことです。ほかも色々ありましけど、下記があればだいたい事たりるですね。

あと、カテゴリー系の関数は、いったん忘れます。コード上もterm関数で統一したほうがスッキリするんですよね。term関数で、引数をtaxonomy = ‘category’とするだけですからね。

投稿のtermを取得

ループの中で、現在の投稿のタームを取得します。

get_the_terms( int|object $post, string $taxonomy )

Devサイト:get_the_terms()

存在するすべてのtermを取得

普通にtermをクエリします。クエリ変数を第一引数に入れられます。これは、get_posts()の役割と似ています。

get_terms( array|string $args = array(), array $deprecated = ” )

Devサイト:get_terms()

termオブジェクトを取得

特定のterm_idから、termオブジェクトを取得するのに使います。もしくは、すでにTermオブジェクトは持っているけど、フィルターを通したい時にも使えます。

get_term( int|WP_Term|object $term, string $taxonomy = ”, string $output = OBJECT, string $filter = ‘raw’ )

Devサイト:get_terms()

termのアーカイブリンクを取得

これがいつもめんどくさい。

get_term_link( object|int|string $term, string $taxonomy = ” )

Devサイト:get_term_link

それ以外の関数

get_term_by()

get_term()のfieldsで代用できますのでほぼいりません。