WordPress3.1で追加されたhas_termが便利
テーマを作成していると、カスタム分類である値がある場合別の処理がしたいことがでてきます。
たとえば果物というカスタム分類にリンゴがある場合はリンゴのアイコンを出したい場合
1 2 3 4 5 6 | <?php $terms_opts = get_the_terms( $post ->ID, "Fruit" ); foreach ( $terms_opts as $opt ){ if ( $opt ->name == "りんご" ){ echo '<image src="apple.jpg">' ;} } ?> |
という感じだったのですが、3.1から追加されたhas_termというのを使うと
1 2 3 | <?php if (has_term( "りんご" , "Fruit" , $post ->ID)):?> <img src= "apple.jpg" > <? endif ;?> |
とシンプルにすみました。
使い方としては
has_term( $term, $taxonomy, $post )
となっており、
$postのデータの中の
$taxonomyというカスタム分類の中に
$termという項目があった場合Trueを返します。
$termの内容は、名前、ID,スラッグいずれでもOKのようです。一方$taxonomyの方は名前のみのようです(ラベル不可)