Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/gogoweb/55w.jp/public_html/techblog/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
Facebook にシェア
[`evernote` not found]
LINEで送る

テーマを作成していると、カスタム分類である値がある場合別の処理がしたいことがでてきます。
たとえば果物というカスタム分類にリンゴがある場合はリンゴのアイコンを出したい場合

<?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というのを使うと

<?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の方は名前のみのようです(ラベル不可)