get_posts() の引数にある category で指定する値はカテゴリーの ID であるべきです。
したがって渡すべきは、 $cat->cat_name ではなく $cat->cat_ID ですね。
また、上記の例では省略されていますが、投稿が複数のカテゴリーに属している場合には、
$cat[0] が表示させたいカテゴリーのオブジェクトであるとは限りません。
カテゴリーページについて言えば、 get_the_category() は使わないで、
$cat = get_query_var('cat');
とした方が手っ取り早いかもしれません。
mizube様
親切なご回答に感謝致します。
早速試したのですがやはりダメでした・・・
色々ググって見たのですが見つからないため煮詰まってしまいました。
前後のソースも掲載しておきます。
ご教授していただけると幸いです。
<h2><?php single_cat_title(); ?></h2>
<?php
$cat = get_query_var('cat');
$cat = $cat[0];
$cat = $cat->cat_ID;
$posts = get_posts('order=asc&category=$cat&numberposts=10');
?>
<?php foreach($posts as $post):?>
<div class="catContent">
<a href="<?php the_permalink() ?>"><?php the_excerpt(); ?></a>
<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
</div>
<?php endforeach; ?>
すみません、説明が足りなかった上に、返信が遅くなってしまいました。
get_query_var(‘cat’) は カテゴリーの ID を返します。
したがって、
<?php
$cat = get_query_var('cat');
$cat = $cat[0];
$cat = $cat->cat_ID;
$posts = get_posts('order=asc&category=$cat&numberposts=10');
?>
ではなく、
<?php
$cat = get_the_category();
$cat = $cat[0];
$cat = $cat->cat_ID;
$posts = get_posts("order=asc&category=$cat&numberposts=10");
?>
もしくは
<?php
$cat = get_query_var('cat');
$posts = get_posts("order=asc&category=$cat&numberposts=10");
?>
としてください(、そして後者の方が手っ取り早いかも、という意味のつもりでした)。
それから、シングルクォート (‘) とダブルクォート (“) の違いにも気をつけてください。
シングルクォートの中では $cat などの変数が展開されませんよ。
mizube様
丁寧なご説明ありがとうございます。
さっそくやってみたら無事に解決できました!!
ありがとうございました!!