この方法での解決はしませんでしたが、
項目を全出力し、選択したものだけクラス付与することができました。
カスタム分類ではなく、カスタムフィールドを使用しました。
<dt>イメージ</dt>
<dd>
<ul class="clearfix">
<li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'フェミニン':echo ' current-cat';break;}} ?>">フェミニン</li>
<li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'エレガンス':echo ' current-cat';break;}} ?>">エレガンス</li>
<li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'グラマラス':echo ' current-cat';break;}} ?>">グラマラス</li>
<li class="clear<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'ガーリー':echo ' current-cat';break;}} ?>">ガーリー</li>
<li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'クール':echo ' current-cat';break;}} ?>">クール</li>
<li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'ナチュラル':echo ' current-cat';break;}} ?>">ナチュラル</li>
<li class="clear<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'カジュアル':echo ' current-cat';break;}} ?>">カジュアル</li>
<li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'モード':echo ' current-cat';break;}} ?>">モード</li>
</ul>
</dd>
(listをフロートさせ、3つごとにclearさせています)
非常に冗長なソースになりましたが、このような方法もあるということでアップいたします。
こういう書き方もできました。
single.php
<?php while ( have_posts() ) : the_post(); ?>
<?php
// カスタム分類名
$taxonomy = 'hair';
// パラメータ
$args = array(
// 投稿記事がないタームも取得
'hide_empty' => false
);
// カスタム分類のタームのリストを取得
$terms = get_terms( $taxonomy , $args );
if ( count( $terms ) != 0 ) {
echo '<ul>';
// タームのリスト $terms を $term に格納してループ
foreach ( $terms as $term ) {
// 投稿でタームのスラッグを選択していれば、current-cat付与
if ( is_object_in_term( get_the_ID(), $taxonomy, $term->slug ) ) {
echo '<li class="current-cat">';
}else {
echo '<li>';
}
// タームの名称を出力
echo $term->name;
echo '</li>';
}
echo '</ul>';
}
?>
<?php endwhile; ?>
返事が遅くなり、失礼いたしました。
そして、ありがとうございます!
とても勉強になりました!
お恥ずかしいながら、PHPの勉強をあまりしていないもので、
使用したことのあるコードならなんとか読めるのですが、
自分で組み合わせるまでは、なかなか難しく…
次回以降の参考にさせていただきますね。