すいません、説明不足でした。
サイトのトップページなどにニュースのヘッドをリスト化し、その際カテゴリー毎にアイコン表示をしています。
その際複数のカテゴリーを選択した場合、その選択したカテゴリーのアイコンを複数表示したいのですが、どうしても1つしか表示されません。
どうやってそのリストを出力してますか?
コードなど方法を具体的に。
現状は、CSSでクラス指定をして以下のようなコードで出力しています。
<?php
$cats = get_the_category();
$cats = $cats[Θ];
?>
<dd class=<?php echo $cats->category_nicename;?>
この方法だと、どうしても複数のカテゴリーには対応できません。
複数表示する為のCSSのクラスを作り、それに対応したカテゴリーを作成するという力技で現状は対応しています。
$cats[Θ]
で最初のカテゴリーしか取ってないからでしょう。
そもそも情報が少なすぎるのと、どういう画か全く見えないのでこれ以上は分かりません。
モデレーター
hide
(@hideokamoto)
こんな感じですかね。
動作確認してないので、エラーになるかもですが。
<?php
$cats = get_the_category();
foreach($cats as $cat) {
?>
<dd class=<?php echo esc_attr($cat->category_nicename);?>
<?php
}
?>
ループでまわせばとれるかなと。
ありがとうございます。
CSSでスペースを取ってのclass指定でしょうか。
自分でもこんな感じで考えていたのですが、Okamotoさんの方法で試してみます。
< p class="
<?php foreach((get_the_category()) as $cat){
echo . $cat->cat_name . ' '; } ?>
">
ちょっと修正して以下のようにしました。
<p Class="<?php
$str = '';
foreach((get_the_category()) as $cat){
$str .= $cat->cat_name . ' ';
}
echo rtrim($str, " ");
?>">
一応、キチンと出力出来ていようです。
ありがとうございました。