wp_get_post_terms

説明

mixed wp_get_post_terms( [ int $post_id = 0 [ , string $taxonomy = 'post_tag' [ , array $args = array() ] ] ] )
投稿記事のタクソノミー情報を取得する。

パラメータ

  • $post_id
    投稿ID(数値)を指定(省略時は0)。
  • $taxonomy
    'category'、'post_tag'などのタクソノミー名を指定(省略時は'post_tag')。
  • $args
    取得するタクソノミー情報の条件を連想配列で指定(省略時はarray())。
    キーワード意味
    orderbyソート対象を示すcount、name、slug、term_group、term_order、noneなど(省略時は'name':名前)
    orderソート順を示すASCかDESC(省略時はDESC)
    fields取得する項目を示すall、ids、names、slugsなど(省略時はall)

返り値

マッチしたすべてのタクソノミー情報が格納された配列を返す。パラメータ$taxonomyで指定された名前が無効な場合などのエラー時には WP_Errorのオブジェクトを返す。タクソノミー情報のプロパティは次の通り。
プロパティ名データ型意味
term_idintID
namestring名前
slugstringスラッグ
term_groupintグループID
term_taxonomy_idintタクソノミーID
taxonomystringタクソノミー名。カテゴリーの場合は'category'、タグの場合は'post_tag'となる
descriptionstring説明
parentint親カテゴリーID。親カテゴリーがない場合は0となる
countint投稿数

注意

同じような使い方ができる get_the_terms関数がある。

使用例

  • 投稿IDが1の投稿タグ情報を取得する。
    <?php $terms = wp_get_post_terms( 1 ); ?>
  • 投稿IDが1のカテゴリー情報を取得する。
    <?php $terms = wp_get_post_terms( 1, 'category' ); ?>
  • 投稿IDが1の投稿タグ情報を名前の降順で取得する。
    <?php $terms = wp_get_post_terms( 1, 'post_tag', array( 'orderby'=>'name', 'order'=>'DESC' ) ); ?>

最終更新 : 2014年07月04日 00:18



お勧め

投稿一覧ページに「更新日時」カラムを追加してみた(2019年8月27日 更新)

サイトの特性によるが、「投稿」には繰り返し更新するものがある。そんなサイトでは投稿一覧ページに「更新日時」があった方が便利。というわけで、今回は投稿一覧にソートに対応した「更新日時」カラムを追加する方法を紹介する。

連番のユーザーIDを回避できないか考えた(2019年6月4日 更新)

WordPressのユーザーIDは最初の管理者が1、次に追加したユーザーが2といった感じの連番になる。連番のIDはサイトによっては好ましくないケースがあり、連番を回避する方法がないか検討した。

Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)

先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。

4.2.3でちょっと変わったショートコード(2018年5月27日 更新)

4.3のリリースまであと少しなわけですが、4.2.3が緊急リリースされました。4.2.2とソースコードを比較すると、ざっくりTinyMCE絡みが多い印象を受けたのですが、ショートコード関連も少し変わっていたので簡単にまとめてみました。

「投稿に挿入」時のタグをちょっとカスタマイズ(2011年7月29日 更新)

投稿画面において、画像をアップロードし投稿に挿入するすると、imgタグをaタグで囲んだものが挿入される(キャプションを指定した場合はタグも)。それらの画像をLightBox(JavaScriptライブラリ)で表示する場合、aタグにrel属性を追加するのだが、その作業を毎回投稿に挿入した後で行うのがちょっと面倒。というわけで、自動的にrel属性を追加するようにしてみました。